mysql--中级sql语句
新建两张数据表,用户表和订单表是一对多的关系,
order表:
user表:
1.自然连接
SELECT * FROM tb_USER NATURAL JOIN tb_ORDER;
只要两张表有共同的字段,就会自动找到两张表的相同字段进行两张表的连接。
2.查询user表中在order表中没有的数据(例如图中第四个)
select * from tb_user u
left join tb_order o on o.cuid=u.id
WHERE o.cuid is null;
3.查询用户表中没有,但是在order表中有的数据(如图第五个)
select * from tb_user u
right join tb_order o on u.id=o.cuid
WHERE u.id is null;
4.将用户表和订单表的数据全部查询出来,
full outer join 关键字结合了left join 和right join的结果
select * from tb_order o full outer join tb_user u on o.cuid=u.id;