数据库SQL 学习大纲

————————–【数据库SQL基础】————————–


查找基础指令

作用 命令
打印去重 distinct SELECT DISTINCT 打印项 FROM 表名;
定义显示 CONCAT() SELECT CONCAT(‘姓名: ‘,name) FROM 表名;
判断空 IS NULL … WHERE 字段 IS NULL;
IN集合查 IN() … WHERE 字段 IN (3000,3500,4000,9000) ;
LIKE模糊查询 LIKE … WHERE name LIKE ‘eg%’; %为后面全是 _ 代表一个占位符
分组 GROUP BY 大前提:!!!SQL_MODE设置!!!
备注别名 as SELECT id as di_list FROM 表名;
显示组内所有成员 group_concat(*) select post,group_concat(name) from employee group by post;
排序显示 ORDER BY SELECT * FROM employee ORDER BY salary ASC; 有ASC 和 DESC两种排序
打印个数 LIMIT LIMIT 0,5; #从第0开始,即先查询出第一条,然后包含这一条在内往后查5条
正则匹配 REGEXP SELECT * FROM 表名 WHERE name REGEXP ‘^ale’;
if判断 if() select *,if(字段=1,”男”,”女”) from 表名;

聚合函数

  • 聚合函数聚合的是组的内容,若是没有分组,则默认一组
作用 命令
计算和 COUNT(*) SELECT COUNT(*) FROM employee;
计算和 COUNT(*) SELECT COUNT(*) FROM employee WHERE depart_id=1;
最大值 MAX(salary) SELECT MAX(salary) FROM employee;
最小值 MIN(salary) SELECT MIN(salary) FROM employee;
取平均值 AVG(salary) SELECT AVG(salary) FROM employee;
总数 SUM(salary) SELECT SUM(salary) FROM employee;
总数 SUM(salary) SELECT SUM(salary) FROM employee WHERE depart_id=3;

多表连接

作用 命令
内连接 INNER JOIN 只连接匹配的行 SELECT 字段列表 FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段;
左连接 LEFT JOIN SELECT 字段列表 FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段;
右连接 RIGHT JOIN SELECT 字段列表 FROM 表1 RIGHT JOIN 表2 ON 表1.字段 = 表2.字段;
全外连接 union 显示左右两个表全部记录: 左连接 union 右连接;

子查询

1:子查询是将一个查询语句嵌套在另一个查询语句中。
2:内层查询语句的查询结果,可以为外层查询语句提供查询条件。
3:子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字
4:还可以包含比较运算符:= 、 !=、> 、<等

猜你喜欢

转载自blog.csdn.net/weixin_42329277/article/details/80767690