SQLOrcale连表查询总结

SQL连表查询

开发工具与关键技术:Oracle sql*plus  PLSQL Developer
作者:赖俏萍
撰写时间:2019年 3月28日

连接查询包含合并、内连接、外连接和满外连接,如果涉及多表查询,首先了解这些连接的特点很重要
只有真正了解它们之间的区别,才能正确使用

  1. 合并两个或多个(UNION)
    Union操作符用于合并两个或多个select语句的结果集
    Union预算符通过组合其他两个结果表(例如 table1 和 table2)并且消去表中任何重复行 而派生出一个结果表
    当ALL随UNION一起使用时(UNION ALL),不消除重复行,两种情况下,派生表的每一行不是来自table1就是来自table2

注意:使用UNION时,两张表查询的结果有相同数量的列、列类型相似。
学生表信息(Students):
在这里插入图片描述
教师表信息(Teachers):
在这里插入图片描述
预置脚本:
INSERT INTO Students(ID,Name,Age,City,MajorID) VALUES(101,‘Tom’,20,‘BeiJing’,10)
INSERT INTO Students(ID,Name,Age,City,MajorID) VALUES(102,‘Lucy’,18,‘ShangHai’,11)

INSERT INTO Teachers(ID,Name) VALUES(101,‘Mrs Lee’)
INSERT INTO Teachers(ID,Name) VALUES(102,‘Lucy’)
1)基本UNION查询,查询学校教师、学生的总的信息表,包括ID和姓名
SELECT ID,Name FROM Students
UNION
SELECT ID,Name FROM Teachers
查询结果:

在这里插入图片描述
2)带条件的UNION查询,也可以查询同一张表,查询年龄为18,23岁的学生信息
SELECT ID,Name FROM Students WHERE Age=18
UNION
SELECT ID,Name FROM Students WHERE Age=23
当然,这可以使用IN或者OR很容易实现,这里只是点到,以后遇到复杂查询,相信你会用到。
3)查询教师学生全部姓名
因为UNION只会选择不同的值,如果学生中和教师中有重名的情况,这就需要UNION ALL
SELECT Name FROM Students
UNION ALL
SELECT Name FROM Teachers
查询结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值