一.单表查询
1.投影:SELECT * FROM tb_name;
2.选择:SELECT [DISTINCT] * FROM tb_name WHERE qualification;
DISTINCT关键字:相同值只显示一次;
FROM子句:表、多个表、其他SELECT语句;
WHERE子句:指定布尔表达式;算术表达式:=、>、>=、<=、<、<>(!=)、%;
组合条件查询:逻辑关系:AND、OR、NOT;
BETWEEN...AND...:在两个值之间;
LIKE ‘’:%代表任意个数的任意字符,_代表任意一个字符;
RLIKE:支持正则表达式;
IN:指定离散数据的列表;
IS NULL,IS NOT NULL;
ORDER BY子句:ORDER BY field_name {ASC|DESC}:根据某个字段排序;
AS:别名;
LIMIT子句:LIMIT [offset,] count,表示从第几个开始显示几个数据;
聚合:AVG(),MAX(),MIN(),SUM(),COUNT();
GROUP BY:分组
HAVING qualification;
二.多表查询
连接:
交叉连接:笛卡尔乘积;
自然连接:一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉;
外连接:
左外连接:... LEFT JOIN ... ON ...
右外连接:...RIGHT JOIN ... ON ...
自连接:连接的表都是同一个表;
三.子查询(嵌套查询)
在比较操作中使用子查询,子查询只能返回单值;
在IN()中使用子查询,此时不必需要是单值;
在FROM中使用子查询;
四.联合查询
UNION:将查询结果关联起来。