join的相关语法有五种:①join②inner join③left join④right join⑤full join。
这里以由一个字段关联的两张表的查询为例!
准备
这里orders表使用字段”Id_P”和persons表使用进行关联,对应于persons表中的”Id_P”。
普通查询
普通查询:在两张表中都有对应的数据时才返回结果!
使用join
注意:inner join和join效果是一样的!
join查询:在左右两张表中都有对应的数据时才返回结果!
使用left join
left join查询:会从左表那里返回所有行,即使在右表中没有对应的数据!
使用right join
right join查询:会从右表那里返回所有行,即使在左表中没有对应的数据!
使用full join
full join查询:只要有一个表中存在匹配,就会返回行!
我擦,竟然报错了:ERROR 1054 (42S22): Unknown column ‘persons.LastName’ in ‘field list’。可是我并没有把字段名单词拼错啊!找了下度娘,原来MySQL本身是不支持full join的。MySQL中实现full join的正确姿势是:
MySQL中使用full join的正确姿势:使用union连接左外连接查询和右外连接查询,union会自动去除重复数据。至于union具体内容,以后学到了再说吧!