mysql--中级sql语句






mysql--中级sql语句

新建两张数据表,用户表和订单表是一对多的关系,

order表:

mysql--中级sql语句

user表:

mysql--中级sql语句

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;