成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解MySQL的內(nèi)連接和外連接

瀏覽:139日期:2023-05-08 10:17:47

MySQL 中的內(nèi)連接、左外連接和右外連接是用于連接兩個(gè)或多個(gè)表的不同方式,它們之間的區(qū)別如下:

內(nèi)連接(Inner Join)

內(nèi)連接也稱為等值連接,只返回兩個(gè)表中鍵值匹配的行,即只有在兩個(gè)表中都有匹配的數(shù)據(jù)時(shí)才會(huì)返回。內(nèi)連接的語(yǔ)法如下:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

左外連接(Left Join)

左連接返回左表中所有記錄和右表中匹配的記錄,如果右表中沒(méi)有匹配的記錄,則返回 NULL 值。左連接的語(yǔ)法如下:

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

右外連接(Right Join)

右連接返回右表中所有記錄和左表中匹配的記錄,如果左表中沒(méi)有匹配的記錄,則返回 NULL 值。右連接的語(yǔ)法如下:

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

以上三種連接方式都是基于相同的基礎(chǔ),只是返回的結(jié)果不同。需要根據(jù)實(shí)際需求選擇不同的連接方式來(lái)處理數(shù)據(jù)。

案例:

假設(shè)有兩個(gè)表A和B:

表A:

idname1Alice2Bob3Carol

表B:

idscore190280370

內(nèi)連接查詢A和B表中相同id的數(shù)據(jù):

sqlCopy code
SELECT A.id, A.name, B.score 
FROM A 
INNER JOIN B 
ON A.id = B.id;

結(jié)果:

idnamescore1Alice902Bob80

左連接查詢A和B表中所有的數(shù)據(jù),如果B表中沒(méi)有與A表相同的id,則B表的score為NULL

sqlCopy code
SELECT A.id, A.name, B.score 
FROM A 
LEFT JOIN B 
ON A.id = B.id;

結(jié)果:

idnamescore1Alice902Bob803CarolNULL

右連接和左連接相似,只是將A表和B表調(diào)換位置,查詢B表和A表的數(shù)據(jù)。

到此這篇關(guān)于詳解MySQL的內(nèi)連接和外連接的文章就介紹到這了,更多相關(guān)MySQL內(nèi)連接外連接內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: MySQL
相關(guān)文章: