————————–【数据库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:还可以包含比较运算符:= 、 !=、> 、<等