代碼如下:
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。
以上就是本文的全部内容,希望對大家的學習有所幫助。