答:在MySQL中,從多張表中查詢數據需要用到JOIN語句。JOIN語句可以將多個表中的數據連接起來,從而實現跨表查詢。下面介紹幾種JOIN語句的用法。
1. INNER JOIN
INNER JOIN是最常用的JOIN語句,它返回兩個表中共有的行。語法如下:
name(s)
FROM table1
INNER JOIN table2namename;
name(s)表示要查詢的列名,table1和table2表示要連接的兩個表,ON是連接條件。 score.scoret
INNER JOIN scoret.id = score.id;
2. LEFT JOIN
LEFT JOIN返回左表中的所有行,以及右表中符合條件的行。如果右表中沒有符合條件的行,則返回NULL。語法如下:
name(s)
FROM table1
LEFT JOIN table2namename;如果該學生沒有成績,則成績顯示為NULL, score.scoret
LEFT JOIN scoret.id = score.id;
3. RIGHT JOIN
RIGHT JOIN返回右表中的所有行,以及左表中符合條件的行。如果左表中沒有符合條件的行,則返回NULL。語法如下:
name(s)
FROM table1
RIGHT JOIN table2namename;如果該成績沒有對應的學生,則姓名顯示為NULL, score.scoret
RIGHT JOIN scoret.id = score.id;
4. FULL OUTER JOIN
MySQL不支持FULL OUTER JOIN語句,但可以通過UNION和LEFT JOIN以及RIGHT JOIN實現。例如,我們想要查詢所有學生的姓名和成績,如果學生沒有成績,則成績顯示為NULL,如果成績沒有對應的學生,則姓名顯示為NULL, score.scoret
LEFT JOIN scoret.id = score.id
UNIONtame, score.scoret
RIGHT JOIN scoret.id = score.idt.id IS NULL;
以上就是在MySQL中從多張表中查詢數據的幾種常見用法,希望能對大家有所幫助。