今天继续来记录些稍微难点涉及到函数和表关系的sql 语句。
一、联合两个表的数据
1、join 和inner join
select 表1.a , 表1.b ,表2.c from 表1 inner join 表2 on 表1.id = 表2.id order by a
从两个表中联合查到 id 相同 的数据(并且若为空,则不返回),只取有效的。
2、left join
select 表1.a , 表1.b ,表2.c from 表1 left join 表2 on 表1.id = 表2.id order by a
从两个表中联合查到 id 相同 的数据,保留表1数据。
3、right join
select 表1.a , 表1.b ,表2.c from 表1 right join 表2 on 表1.id = 表2.id order by a
从两个表中联合查到 id 相同 的数据,保留表2数据。
4、full join
select 表1.a , 表1.b ,表2.c from 表1 left join 表2 on 表1.id = 表2.id order by a
从两个表中联合查到 id 相同 的数据,保留两个表数据。
二、联合表关系
1、union
select a from 表1 union select a from 表2
从表1,表2 取出所有a 字段,不可重复。
2、union all
select a from 表1 union select a from 表2
从表1,表2 取出所有a 字段,可重复。
一些常用基本函数
avg()、count()、sum()、max()、min()、groupby、having等