MySQL多表查询
MySQL多表查询的主要关键字。
union联合查询
作用:在一条查询语句中进行多个查询。
1 | select age, gender from info all/distinct union select 'name', phone from teacher |
inner join内连接
inner join即内连接,要分清表的主次,主键对应外键。
1 | select name, score from student innner join score on student.id = score.stuid |
inner join注意事项:
- 多表查询以相同的公共字段作为基准查询;
- 其中一个表没有的则不统计。
left join左连接
左连接就是以左表某字段为基准,左边的必须要有,右边的可以为空,类似于军训向……看齐排队。
作用:防止空数据不统计。
right join右连接
类似于左连接,以右表字段为基准。
cross join交叉连接
1 | select * from t1 cross join t3 where t1.id = t2.id |
natural join自然连接
select * from t1 natural join t3
自然连接会自动根据两表的公共字段连接(前提:两张表的公共字段(属性)名相同),没有的字段会自动填充。
内连接无公共同名字段的自然连接返回笛卡尔积
using
作用:有多个公共字段时指定以某个字段连接。
1 | select * from t1 inner join t3 using(id) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 凌亦零网志!