天天看點

js檔案中mysql多表聯合查詢_詳解Mysql多表聯合查詢效率分析及優化_MySQL

代碼如下:

SELECT column_name FROM table1 LEFT [OUTER] JOIN table2 ON table1.column=table2.column

b. RIGHT [OUTER] JOIN:

RIGHT與LEFT JOIN相似不同的僅僅是除了顯示符合連接配接條件的結果之外,還需要顯示右表中不符合連接配接條件的資料列,相應使用NULL對應

代碼如下:

SELECT column_name FROM table1 RIGHT [OUTER] JOIN table2 ON table1.column=table2.column

Tips:

代碼如下:

SELECT * FROM table1,table2 WHERE table1.id=table2.id;

2. ON

mysql>

代碼如下:

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id

LEFT JOIN table3 ON table2.id=table3.id;

3. USING子句,如果連接配接的兩個表連接配接條件的兩個列具有相同的名字的話可以使用USING

例如:

SELECT FROM LEFT JOIN USING ()

連接配接多于兩個表的情況舉例:

mysql>

SELECT artists.Artist, cds.title, genres.genre

FROM cds

LEFT JOIN genres N cds.genreID = genres.genreID

LEFT JOIN artists ON cds.artistID = artists.artistID;

或者 mysql>

SELECT artists.Artist, cds.title, genres.genre

FROM cds

LEFT JOIN genres ON cds.genreID = genres.genreID

LEFT JOIN artists -> ON cds.artistID = artists.artistID

WHERE (genres.genre = 'Pop');

——————————————–

代碼如下:

SELECT * FROM t1 LEFT JOIN t2 ON (column1) WHERE t2.column2=5;

是以,可以安全地将查詢轉換為普通聯接:

代碼如下:

SELECT * FROM t1, t2 WHERE t2.column2=5 AND t1.column1=t2.column1;

這樣可以更快,因為如果可以使查詢更佳,MySQL可以在表t1之前使用表t2。為了強制使用表順序,使用STRAIGHT_JOIN。

以上就是本文的全部内容,希望對大家的學習有所幫助。