基本查询
select 字段列表 from 表名
select * from 表名 (*表示所有) : 查询所有的数据
select id,name,age,sex,phone from 表名
可以用as给字段起别名,as也可以省略
条件查询
用where表示查询的条件
between…and…在…之间
and 并且
or 或者
模糊查询
%放在左边,在代码多时会导致索引失效,降低查询效率
_代表一个字符 一个字符代表一个字符
分页查询
关键字 limit 起始索引,个数
分页查询第m页,每页展示n条数据 limit(m-1)*n,n
排序
关键字 order by
结构 order by 字段名
ASC 升序
DESC 降序
聚合函数
count() 计算某个数的个数总和
sum() 数据加在一起的总和
avg() 数据的平均数
max() 数据的最大值
min() 数据的最小值
分组查询
关键字 group by
结构 group by 字段
having条件查询 where分组前,having分组后的条件
子查询
概念:把查询的结果当作另一个查询的条件
内连接
select * from 表名1,表名2
笛卡尔积,查询出来的结果没有意义
显示内连接
关键字 inner join (inner可以省略)
select * from 表明1 INNER JOIN 表明2 on 表明1.id=表明2.pid
select * from 表明1 JOIN 表明2 on 表明1.id=表明2.pid
select p.id,p.name,age,sex,favourite,birth,d.id deptid,d.name deptname,pid from 表明1 p(起名p) JOIN 表明2 d(给表二起名d) on p.id=d.pid
隐式内查询
select * from 表明1,表明2 where 表明1.id=表明2.pid
外连接
左外连接 left [outer] join 查询的是左边表的所有部分和右边表的交集
主表在左 副表在右
右外连接 right [outer] join 查询的右边表的所有部分和左边表的交集
主表在右 副表在左