- SQLite快速入门
- SQLite是什么?
- SQLite历史
- SQLite特性/为什么要使用SQLite?
- SQLite优点和缺点
- SQLite安装
- SQLite命令大全
- SQLite语法大全
- SQLite数据类型
- SQLite运算符
- SQLite表达式
- 数据库和表
- CURD操作
- 子句和条件
- 连接操作
- SQLite时间日期
- 聚合函数
- SQLite触发器
- SQLite主键
- SQLite导出导入
- SQLite连接程序
SQLite外连接(Outer Join)
在SQL标准中,有三种类型的外连接:
- 左外连接
- 右外连接
- 全外连接
但是,SQLite仅支持左外连接。
SQlite的左外连接
SQLite左外连接用于从ON
条件中指定的左侧表中获取所有行,并且仅右表中满足连接条件的那些行记录。
语法:
SELECT ... FROM table1 LEFT OUTER JOIN table2 ON conditional_expression
或者:
SELECT ... FROM table1 LEFT OUTER JOIN table2 USING ( column1 ,......
左外连接如下图所表示,蓝色阴影部分为左外连接的交集 -
示例
假设有两个表: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.zyiz.net/sqlite/insert-query.html ,自行完成操作。
示例:
查询每个学生所在的部门,并按照以下条件进行左外连接,如下查询语句 -
SELECT EMP_ID, NAME, DEPT FROM STUDENT LEFT OUTER JOIN DEPARTMENT ON STUDENT.ID = DEPARTMENT.EMP_ID;
执行上面查询,得到以下结果 -
注:没有指定部门的学生也会查询出来。因为左连接是基于左表,不管右表条件是否满足。
关注微信小程序
扫描二维码
程序员编程王