国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

詳解Mysql多表聯合查詢效率分析及優化

2020-01-18 22:48:07
字體:
來源:轉載
供稿:網友

1. 多表連接類型
1. 笛卡爾積(交叉連接) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:

SELECT * FROM table1 CROSS JOIN table2  SELECT * FROM table1 JOIN table2  SELECT * FROM table1,table2 

        由于其返回的結果為被連接的兩個數據表的乘積,因此當有WHERE, ON或USING條件的時候一般不建議使用,因為當數據表項目太多的時候,會非常慢。一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN

 2.   內連接INNER JOIN 在MySQL中把INNER JOIN叫做等值連接,即需要指定等值連接條件在MySQL中CROSS和INNER JOIN被劃分在一起。 join_table: table_reference [INNER | CROSS] JOIN table_factor [join_condition]

3. MySQL中的外連接,分為左外連接和右連接,即除了返回符合連接條件的結果之外,還要返回左表(左連接)或者右表(右連接)中不符合連接條件的結果,相對應的使用NULL對應。

例子:

user表:

id | name
―――
1 | libk
2 | zyfon
3 | daodao

user_action表:

user_id | action
―――――
1 | jump
1 | kick
1 | jump
2 | run
4 | swim

sql:

select id, name, action from user as u left join user_action a on u.id = a.user_id 

result:
id | name    | action
――――――――――

主站蜘蛛池模板: 荔浦县| 贵阳市| 伊通| 江都市| 巨鹿县| 海口市| 大邑县| 南丹县| 桐城市| 巴林左旗| 汨罗市| 龙江县| 芒康县| 沂南县| 满城县| 库伦旗| 信宜市| 微博| 柏乡县| 光山县| 长沙市| 田东县| 临沂市| 铁岭县| 本溪市| 昌平区| 潮州市| 威海市| 连城县| 泰顺县| 贡山| 翁源县| 瑞丽市| 自贡市| 五大连池市| 睢宁县| 寿宁县| 龙岩市| 通江县| 宜宾县| 长海县|