一:单表查询
1 查询所有记录
SELECT * FROM `表名` ;
2 查询部分字段
SELECT `字段名` FROM `表名` ;
3 带条件查询
SELECT `字段名` FROM `表名` WHERE 条件 AND 条件;
4 取别名
SELECT `别名` , `要查的字段名` FROM `表名` AS `别名`;
二:多表查询
1 内连接
笛卡尔坐标轴:把2张表想象成X和Y轴,轴上的每个点就是两个表每行数的集合。
2 外连接
(1)左连接:
A LEFT JOIN B 会以左边的表为主,展示左边表的所有数据,展示右边表中符合ON 子句中条件的数据,没有为空;
(2)右链接:
与左连接相反。
(3)全连接:
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任意重复行。
3 子表查询
在一个SQL 语句中出现两个SQL 语句,就是子表查询,下面这个子表查询是在JOIN 这个地方建立查询;
子表查询不但可以放在JOIN 里,也可以放在WHERE 后面。
4 排序
使用 ORDER BY 命令
对查询出来的结果进行排序,ASC升序(默认)DESC降序。
5 限制显示的行数LIMT
Eg :LIMT 4 —— 限制显示4行。
6 分组查询
分组是常见的操作,常用于分组统计,使用GROUP BY 后,会按照GROUP BY 后面的字段进行分组,且必须是明确字段,不能是*,因此SET ECT 后面也不能是*。其次也可以使用HAVING
可以对分组之后的结果进行筛选,注意:HAVING 后的字段必须是SELECT 后出现过的。
三:MySQL函数
它的函数有很多,比如ABS,MAX,MIN,ROUND,AVG,SUM等等。
MySQL 执行顺序:
1 FROM 对左边的表和右边的表计算笛卡儿集;产生虚表1
2 ON 对虚表1进行筛选,只有符合的行才会被记录在虚表2中