MySQL多表连接查询
程序员文章站
2022-05-29 17:49:59
...
(一)内连接(inner join)
只返回两张表中所有满足连接条件的行
1.使用using子句
SELECT * FROM PLAYERS JOIN PENALTIES USING(PLAYERNO)
2.使用on子句
SELECT t.teamno, p.name
FROM TEAMS t
JOIN PLAYERS p
ON t.playerno = p.playerno;
3.使用where子句
SELECT paymentno, pen.playerno, amount,NAME
FROM PENALTIES pen, PLAYERS p
WHERE pen.playerno = p.playerno;
(二)外连接
1、左外连接
除了返回两张表中所有满足连接条件的行之外,还要返回左表中所有不满足连接条件的行。所谓左表,就是写在LEFT JOIN关键字左边的表
2、右外连接
除了返回两张表中所有满足连接条件的行之外,还要返回右表中所有不满足连接条件的行。所谓右表,就是写在RIGHT JOIN关键字右边的表
3、交叉连接–>笛卡尔积
SELECT *
FROM MATCHES
CROSS JOIN PENALTIES;