简单的数据查询DQL:
投影操作:SELECT 列名列表 FROM 表名;计算机从FROM开始对内存进行读取,然后投影出SELECT后的列名列表;
表前缀:SELECT student.name FROM student; 在FROM的表名后面可以加 ‘AS 新表名’ AS 也可以省略;
列别名:列名 AS 别名;
计算列:对列进行加减乘除等运算;
排除重复数据: SELECT DISTINCT 列A FROM 表;
返回限定行数查询: SELECT 列名列表 FROM 表名 LIMIT 开始序号,返回行数; 开始序号从0开始,注意没有where;
选择操作: SELECT 列名列表 FROM 表名 WHERE 过滤条件; 在多条件中可以用 ‘OR’ 或 ‘AND’ 连接条件;
执行范围测试: SELECT 列A,列B FROM 表 WHERE 列C BETWEEN 下限 AND 上限;
定义集合: SELECT 列A,列B FROM 表 WHERE 列C IN(值列表);
模糊查询:SELECT 列A,列B FROM 表 WHERE 列C LIKE 模式;模式为“ % ”和“_”通配符组成,“ % ”包含零个或多个字符,“_”任意单个字符;
处理空值数据: SELECT 列A,列B FROM 表 WHERE 列C IS (NOT) NULL;不能使用=null;
排序操作:SELECT 列A,列B FROM 表 ORDER BY 列A,列B ASC(DESC); DESC为降序;
使用聚合函数和分组:
聚合函数:COUNT计数,SUM求和,AVG 平均值,MAX最大值,MIN最小值。
COUNT关键字:“* ”计数所有列包含空值;“ALL列”计数所有非空列,这是默认操作;“DISTINCT
列”唯一非空值;
SUM关键字:不能使用“*”,ALL,DISTINCT相同;
数据分组:SELECT 列A,聚合函数 FROM 表 WHERE 过滤条件 GROUP 列A;不能投影其他
列,只能投影分组列和聚合后的列,不然没有意义;
HAVING语句:SELECT 列A,聚合函数 FROM 表 WHERE 过滤条件 GROUP 列A HAVING 过
滤条件;HAVING只能对聚合后的列进行过滤在WHERE之后;
执行顺序:FROM, WHERE,GROUP BY, SELECT,HAVING,ORDER BY