数据库七种join原理(配图)
mysql数据库join的使用
提示:由于我们在写业务的时候都需要使用表连接,那么使用哪种表连接就成为了问题
例如:有一个学生表和一个班级表,需要查询每个同学班级的信息就需要用到连接,也就是join语句
提示:以下是本篇文章正文内容,下面案例可供参考
一、join是什么?
通俗的来说:就是需要两张表进行连接成一张表所需要的用到的语法
二、七种join
1.左连接(left join)
SELECT
(data)
FROM
TABLE A
LEFT JOIN TABLE B ON A.key = B.key
2.右连接(right join)
SELECT
(data)
FROM
TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
3.内连接(right join)
SELECT
(data)
FROM
TABLE A
INNER JOIN TABLE B ON A.key = B.key
4.左独有
SELECT
(data)
FROM
TABLE A
LEFT JOIN TABLE B ON A.key = B.key
WHERE B.key IS NULL
5.右独有
SELECT
(data)
FROM
TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
WHERE A.key IS NULL
6.全连接
注意多了union语法
(SELECT
(data)
FROM
TABLE A
LEFT JOIN TABLE B ON A.key = B.key
)
UNION
(SELECT
(data)
FROM
TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
)
7.并集去交集
(SELECT
(data)
FROM
TABLE A
LEFT JOIN TABLE B ON A.key = B.key
WHERE B.key IS NULL
)
UNION
(SELECT
(data)
FROM
TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
WHERE A.key IS NULL
)
总结
1.可以根据需求来判断使用哪种表连接
2.在表连接效率极其缓慢时可以考虑建立索引和explain关键字优化sql
3.在使用左连接的时候 主要用的表一般放在左边