My SQL的内连接,外链接查询

1、内连接:只连接匹配的行。

2、左外连接:包含左边表的全部行,以及右边表中所有匹配的行,无论右边的表有没有和左边匹配的行,左边的所有行都必须要显示。

3、右外连接:包含右边表的全部行,以及左边表中所有匹配的行,无论左边的表有没有和右边匹配的行,右边的所有行都必须要显示。

例:表t_book的图书类别编号bookTypeId对应着表t_bookType的id


(1)内连接SQL语句

SELECT t_book.id,t_book.bookName,t_booktype.bookTypeName   
FROM t_book   
INNER JOIN t_booktype   
on t_book.bookTypeId=t_booktype.id  

查询结果:


    可以看到只有表t_book的bookTypeId和表t_bookType的id相同的行被查询出来,而其他未匹配的行并没有被查询出来。

(2)左外连接SQL语句

SELECT t_book.id,t_book.bookName,t_booktype.bookTypeName 
FROM t_book 
LEFT JOIN t_booktype 
on t_book.bookTypeId=t_booktype.id

查询结果:


左边表无论有没有匹配项都被查询出来。

(3)右外连接SQL语句

SELECT t_book.id,t_book.bookName,t_booktype.bookTypeName 
FROM t_book 
RIGHT JOIN t_booktype 
on t_book.bookTypeId=t_booktype.id

查询结果:


右边表无论有没有匹配项都被查询出来。


版权声明:本文为LNhome原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。