SQLite內(nèi)連接(inner join)是最常見(jiàn)的連接類型。 它用于組合滿足連接條件的多個(gè)表中的所有行記錄。
SQlite內(nèi)連接是默認(rèn)的連接類型。
語(yǔ)法:
SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression ...
或者:
SELECT ... FROM table1 JOIN table2 USING ( column1 ,... ) ...
或者:
SELECT ... FROM table1 NATURAL JOIN table2...
內(nèi)連接如下圖所表示,藍(lán)色陰影部分為內(nèi)連接的交集 -

示例
假設(shè)有兩個(gè)表:department和student。
student表具有以下數(shù)據(jù):
sqlite> select * from student;
1|Maxsu|27|Shengzhen|20000.0
2|Minsu|25|Beijing|15000.0
3|Avgsu|23|Shanghai|2000.0
4|Linsu|25|Guangzhou|65000.0
5|Sqlsu|26|Haikou|25000.0
6|Javasu|21|Shengzhen|18000.0
7|Linsu|27|Haikou|10000.0
8|Minsu|23|Guangzhou|5000.0
9|Maxsu|23|Shenzhen|9000.0
sqlite>
department表具有以下數(shù)據(jù):
sqlite> select * from department;
1|財(cái)務(wù)部|1
2|技術(shù)部|2
3|技術(shù)部|3
4|市場(chǎng)部|4
5|市場(chǎng)部|5
sqlite>
注:這些數(shù)據(jù)用于后續(xù)學(xué)習(xí)連接相關(guān)操作使用,如果您還沒(méi)有沒(méi)有創(chuàng)建或插入上面數(shù)據(jù),可參考:http://www.yiibai.com/sqlite/insert-query.html ,自行完成操作。
示例:
查詢每個(gè)學(xué)生所在的部門,如下查詢語(yǔ)句 -
SELECT EMP_ID, NAME, DEPT FROM STUDENT INNER JOIN DEPARTMENT
ON STUDENT.ID = DEPARTMENT.EMP_ID;
執(zhí)行上面查詢,得到以下結(jié)果 -

注:沒(méi)有指定部門的學(xué)生并不會(huì)查詢出來(lái)。因?yàn)檫@里是基于條件
STUDENT.ID = DEPARTMENT.EMP_ID來(lái)查詢的。