一、检索--输出所有的列

SELECT * 
FROM my_friends
WHERE
first_name = 'cake';

知识点1

* 代表选择出所有的行-----(什么行呢?)就是first_name =‘cake’的行。整个语句的意思就是从my_friends的表中,检索出first_name = 'cake' 的行,并全部显示!

注意:1.文本类的数据类型的值需要加上单引号,非文本类的数据类型的值不需加单引号(规则跟INSERT插入数值的时候一样)

爱用单引号:CHAR,VARCHAR,DATA,DATATIME,BLOG

拒绝用单引号:DEC,INT

(如果文本数据类型的 数据需要用到单引号' 时,需要用 \'来代替  ')

2.如果WHERE后面的列是非文本类的数据类型,可以使用 ‘<’ 和 ‘>’ 检索出 对应范围的值。

注意:a. 不等于 有两种表示方式  <> 和 !=

b. 等号 可以结合 < 或者 >使用,如:<= 或者 >=

c.可以使用关键字 BETWEEN 代替 >=<= 表示数值区间(注意是<=、>=,而不是 < 、>),如:

SELECT * FROM my_friends
WHERE
age BETWEEN 15 AND 30; --注意:BETWEEN 规定,必须按顺序,从小到大!不可以是between 30 and 15

 知识点2  AND 和 OR

要是想要满足多一个条件呢?可以更进一步检索满足多个条件下的序列(或多步,多步也就是增加and条件而已...)

SELECT* FROM  my_friends       
WHERE
last_name = ‘Lily’
AND last_name = 'Wang';

整理一下,就是当表 my_friends 中的列 last_name = 'Lily'而且 first_name = 'Wang' 时,输出所有的列

存在“与” ,“与”用AND 表示 ,那也肯定存在着“或”,“或”用 OR 表示!

当需要使用多个 ‘OR’ 的时候,程序会显得很累赘,所以聪明的SQL 衍生出了 关键字 ‘IN’ 来解决这个问题! 

SELECT *FROM  my_friends       
WHERE
interest = ‘baskball’
OR
interest = 'running'
OR
interest = 'swimming'
OR
...; --------->> SELECT * FROM my_friends      
WHERE
interest IN ( ‘baskball’,'running','swimming'); ---在这里 IN是包含的意思

另外,IN 意为 包含。 NOT IN意为 不包含SELECT * 

FROM * my_friends       
WHERE
interest NOT IN (‘baseball');

知识点3  NOT的使用

1.NOT也可以和BETWEEN 或者 LIKE 一起使用,在使用时,NOT 一定要紧接在 WHERE 后面。但是NOT IN 是个例外,而且即使把NOT移到 WHERE 后一可以运作(以下程序等效上程序)

SELECT * FROM my_friends       
WHERE
NOT interest IN (‘baseball');

2.NOT和AND或OR一起使用时,要直接接在AND或者OR后面!记得哦!!!

SELECT * 
FROM my_friends      
WHERE
NOT age BETWEEN 1 AND 15; SELECT last_name
FROM my_friends
WHERE
NOT first_name LIKE '%W'    --
AND NOT first_name LIKE '%L';

知识点4

有一个巨大的问题来了,如果我找的数据是 NULL 呢? 应该怎么去寻找,毕竟 NULL != NULL 呀

解决办法肯定是多于问题的!

SELECT phone    --选择列的名称
FROM my_friends      --从表中
WHERE e-mail IS NULL;

IS NULL是关键字!

二、检索--输出特定的序列(过滤数据)

SELECT status    --选择输出的列的名称
FROM my_friends      --从表中
WHERE last_name = ‘Lily’;  --当last_name = 'Lily'时

整理一下,就是当表 my_friends 中的列 last_name = 'Lily'时,输出列 status

三、检索--文本型相同的部分

SELECT * FROM my_friends       --从表中
WHERE last_name LIKE = ‘L%;  --当last_name 以L开头时

上面程序表达的是,检索my_friend中的 last_name 的列,输出以‘L’开头的所有行

知识点6

通配符  ---必须配合 文本型数据类型使用

%   ---百分号 是任意数量的未知字符的替身

_    ----下划线 是一个未知字符的替身

SELECT * FROM my_friends       --从表中
WHERE last_name LIKE = ‘_L%;  --当last_name 以'XL'开头时,X 为任意字符

四、按一定的顺序排列

知识点7 ORDERBY--升序

SELECT lunch FROM my_foods
WHERE breakfast = 'milk'
ORDER BY id,lunch;  --id是排序用到第一列,lunch是排序用的第二列(根据第一列排列完成才会进行第二列的排列)

ORDER BY 的排列顺序:

NULL --键盘左到右的符号--数字--字母(大写>小写)

知识点8  DESC--降序

反转顺序排列

SELECT lunch FROM my_foods
WHERE breakfast = 'milk'
ORDER BY id DESC;

DESC 是 DESCENDING的缩写,相对的有ASC,也可以用这个代表升序

SQL基础篇----select语句与排序问题的更多相关文章

  1. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  2. SQL 基础:Select语句,各种join,union用法

    一.基本的SELECT语句 1. “*”的注意事项:在SELECT语句中,用*来选取所有的列,这是一个应该抵制的习惯. 虽然节省了输入列名的时间,但是也意味着获得的数据比真正需要的数据多的多.相应的, ...

  3. 第四节基础篇 - SELECT 语句详解

    4.1 基本的SELECT语句 select * from T_WEATHER select cityname from t_weather 4.2 数学符号条件(>.<.>=.&l ...

  4. VBS基础篇 - 循环语句(3) - For...Next

    VBS基础篇 - 循环语句(3) - For...Next   指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...

  5. VBS基础篇 - 循环语句(4) - For Each...Next

    VBS基础篇 - 循环语句(4) - For Each...Next   For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...

  6. sql基础篇

    再跟SQL谈一谈--基础篇   1.简介 2.DDL & DML 3.SELECT ①DISTINCT ②WHERE ③AND & OR ④ORDER BY 4.INSERT 5.UP ...

  7. 聊聊数据库~3.SQL基础篇

    上篇回顾:聊聊数据库~SQL环境篇 扩展:为用户添加新数据库的权限 PS:先使用root创建数据库,然后再授权grant all privileges on 数据库.* to 用户名@"%& ...

  8. (大数据工程师学习路径)第四步 SQL基础课程----select详解

    准备 在正式开始本内容之前,需要先从github下载相关代码,搭建好一个名为mysql_shiyan的数据库(有三张表:department,employee,project),并向其中插入数据. 具 ...

  9. SQL基础篇(MICK)

    SQL基础教程(Mick) 数据库和SQL C:\PostgreSQL\9.5\bin\psql.exe -U postgres -d shop 数据库的基本概念 数据库(DB):将大量数据保存起来, ...

随机推荐

  1. 移动端拖拽(模块化开发,触摸事件,webpack)

    通过jquery可以很容易实现CP端的拖拽.但是在移动端却不好用了.于是我自己写了一个在移动端的拖拽demo,主要用到的事件是触摸事件(touchstart,touchmove和touchend). ...

  2. How to deploy JAVA Application on Azure Service Fabric

    At this moment, Azure Service Fabric does not support JAVA application natively (but it's on the sup ...

  3. Do less things

    就这样,选择做更少的事情,我觉得挺好,至少能睡得很踏实,吃饭很香,也不会觉得难受! 就这样,节制自己的欲望,但是却能很平静,安安静静走自己的路,我觉得生活有希望,也有快乐! 早上,已经可以八点十分起床 ...

  4. EXTJS 6 新特性(译文)

    Extjs 新特性 简介 使用extjs,sencha 团队开发一个简单的框架,可以为创建在任何类型设备上运行的应用,从手机端到平板电脑再到桌面应用,你将能够产生最佳的用户体验,编写更少的代码量,结合 ...

  5. EXTJS 表单提交

    EXTJS框架中,在提交表单时,可有3种方式: 方法一: 普通的 Form 提交方式, 主要使用 form.submit() 方法来将表单提交到后台,在后台是根据表单的 name 属性来获取表单中元素 ...

  6. MVC ckeditor的基本使用

    之前在自己的WebForm练习项目里面用到过ckeditor,时隔蛮久后,今天再一次把ckeditor运用到MVC里面,用于最近着手开发的企业站的新闻动态的内容之新增与修改. 找到的资料都说要把下载的 ...

  7. Windows下Qt连接MySql数据库

    1.设置环境变量,需添加如下的环境变量:      2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...

  8. HTML常见元素集锦

    在讲解本次课程前:我们先来看下什么是浏览器: 所谓浏览器就是可以解释和执行HTML代码的工具.还有一个概念我们需要搞清楚,浏览器!=IE,IE只是浏览器当中的一种.除了IE还有N多浏览器,google ...

  9. VC++2010下编译STLport,Boost

    VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...

  10. (笔记)angular Select选择