1.FROM子句
SELECT <*,column [alias],...> FROM table
SELECT 用于指定要查询的列
FROM指定要从哪个表中查询
如果查询所有列,可以在SELECT后面使用*号
如果只查询特定的列,可以直接在SELECT后面指定列名,列名之间用逗号隔开。
2.使用别名
使用语法是列的别名跟在列名后,中间可以加或不加一个"AS"关键字
如果希望别名中区分大小写字符,或者别名中包含字符或空格,则必须用双引号引起来
3.WHERE子句
在SELECT语句中,可以在WHERE子句中使用比较操作限制查询结果
如果和数字比较可以使用单引号引起,也可以不用
如果和字符及日期类型的数据比较,则必须用单引号引起
4.使用>,<,>=,<=,!=,<>,=
!=等价于<>
5.使用AND,OR关键字
在SQL操作中,如果希望返回的结果必须满足多个条件,应该使用AND逻辑操作符连接这些条件
在SQL操作中,如果希望返回的结果满足多个条件之一即可,应该使用OR逻辑操作符连接这些条件
6.使用LIKE(模糊查询)
比较操作符LIKE用来做模糊查询
当用户在执行查询时,不能完全确定某些信息的查询条件,或者只知道信息的一部分,可以借助LIKE来实现
LIKE需要借助两个通配符:
%:表示0到多个字符
_: 标识单个字符
这两个通配符可以配合使用,构造灵活的匹配条件
7.使用IN和NOT IN
比较操作符IN(list)用来取出符合列表范围中的数据
List表示值列表,当列或表达式匹配于列表中的任何一个值时,条件为true,该条记录被显示出来
IN也可以理解为一个范围比较操作符,只不过这个范围是一个指定的值列表
NOT IN(list)取出不符合此列表的数据记录
8.BETWEEN...AND...
BETWEEN...AND...操作符用来查询符合某个值域范围条件的数据
最常见的是使用在数字类型的数据范围上,但对字符类型的数据和日期类型数据也同样适用
9.适用IS NULL和IS NOT NULL
空值NULL是一个特殊的值,比较的时候不能使用"="号,必须使用IS NULL,否则不能得到正确的结果。
10.使用ANY和ALL条件
ALL和ANY不能单独使用,需要配合单行比较操作符>、>=、<、<=一起使用
>ANY:大于最小
<ANY:小于最大
>ALL:大于最大
<ALL:小于最小
>ANY(3500,4000,4500)
11.查询条件中使用表达式或函数
当查询需要对选出的字段进行进一步计算,可以在数字列上使用算术表达式(+,-,*,/)
表达式符合四则运算的默认优先级,如果要改变优先级可以使用括号
算术运算主要是针对数字类型的数据,对日期类型的数据可以做加减操作,表示在一个日期上加或减一个天数
12.使用DISTINCT过滤重复
数据表中有可能存储相同数据的行,当执行查询操作时,默认情况会显示所有的行,不管查询结果是否有重复数据
当重复数据没有实际意义,经常会需要去掉重复值,使用DISTINCT实现
13.使用ORDER BY子句
对数据按一定规则进行排序操作,使用ORDER BY子句
必须出现在SELECT中的最后一个子句
14.ASC和DESC
ASC:默认项,升序排列;
DESC:降序排列
NULL值视作最大,则升序排列时,排在最后,降序排列时,排在最前
15.多个列排序
当以多列作为排序标准时,首先按照第一列进行排序,如果第一列数据相同,再以第二列排序,以此类推
多列排序时,不管正序还是倒序,每个列需要单独设置排序方式