一.数据查询
select 查询列表
数据:from 表名或视图列表
条件:【where 条件表达式】
分组:【group by 字段名
过滤: having 条件表达式】
排序:【order by 字段名 [ASC|DESC]】
分页:【limit m,n】;
select语句,可以包含5种子句:依次是where, group by,having,order by,limit必须照这个顺序
别名 AS:可以给字段取别名
去重 distinct:去除重复值
着重号 `name`:用小波浪括起来
闭区间:id between 2 and 5;
模糊查询:name like ‘张%’;
去重查询:select distinct name from ‘表’;
限制查找:limit 5; (前5个)
二. 关联查询
内连接:inner join,cross join
外连接:左外链接(left outer join),右外链接(right outer join),全外链接(full outer join)
自连接:当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义
三. 子查询
IN:等于任何一个
ALL:和子查询返回的所有值比较。例如:sal>ALL(1,2,3)等价于sal>1 && sal>2 && sal>3,即大于所有。
ANY:和子查询返回的任意一个值比较。例如:sal>ANY(1,2,3)等价于sal>1 or sal>2 or sal>3,即大于任意一个就可以。
- where型子查询
where型子查询即把内层sql语句查询的结果作为外层sql查询的条件.
- from型子查询
from型子查询即把内层sql语句查询的结果作为临时表供外层sql语句再次查询.
- exists型子查询
判断子查询是否有返回结果(不关心具体行数和内容),如果返回则为TRUE,否则为FALSE。