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

时间:2024-09-18 15:06:26

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

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

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

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

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

(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

查询结果:

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

    可以看到只有表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

查询结果:

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

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

(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

查询结果:

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

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