FROM子句
SELECT <*, column [alias], ...> FROM table;
SELECT用于指定要查询的列
FROM指定要从哪个表中查询
使用别名
语法是列的别名跟在列名后,中间可以加或不加一个AS"关键字,如果希望别名中区分大字符,或者别名中包含字符或空格,则必须用双引号引起来
WHERE
在SELECT语句中,可以在WHERE子句中使用比较操作,符限制查询结果。
如果和数字比较,可以使用单引号引起,也可以不用。
如果和字符及日期类型的数据比较,则必须用单引号引起
SELECT
如果只查询表的部分列,需要在SELECT后指定列名
SELECT ename, sal FROM emp;
使用>,<,>=,<=,!=,<>,=进行判断
使用AND,OR关键字
在SQL操作中,如果希望返回的结果必须满足多个条件,应该使用AND逻辑操作符连接这些条件。
在SQL操作中,如果希望返回的结果满足多个条件之一即可,应该使用OR逻辑操作符连接这些条件。
AND优先级比OR高
使用LIKE条件模糊查询
作符LIKE用来做模糊查询,LIKE需要借助两个通配符:
% :表示0到多个字符
_:表示单个字符
使用IN和NOT IN
比较操作符IN(list)用来取出符合列表范围中的数据;
List表示值列表,当列或表达式匹配于列表中的任何一个值时,条件为TRUE,该条记录则被显示出来
IN也可以理解为一个范围比较操作符,只不过这个范围是一个指定的值列表
NOT IN(list)取出不符合此列表中的数据记录。
NOT IN是不满足任何一项,IN是满足其中之一即可。
BETWEEN AND
BETWEEN...AND...操作符用来查询符合某个值域范围条件的数据。数据必须是左小右大
最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用。
IS NULL和IS NOT NULL
空值NULL是一个特殊的值,比较的时候不能使用=号,必须使用IS NULL ,否则不能得到正确的结果。
ANY和ALL
使用ANY和ALL条件
ALL和ANY不能单独使用,需要配合单行比较操作符>、 >=、<、<=一起使用
- > ANY :大于最小
- < ANY :小于最大
- > ALL :大于最大
- < ALL :小于最小
ANY和ALL可以把一个查询结果作为比较条件。
查询条件中使用表达式和函数
- 当查询需要对选出的字段进行进一步计算,可以在数字列上使用算术表达式(+、-、*、/)
- 表达式符合四则运算的默认优先级,如果要改变优先级可以使用括号
- 算术运算主要是针对数字类型的数据,对日期类型的数据可以做加减操作,表示在一个日期值上加或减一个天数
DISTINCT
取出重复行