Oracle-多表查询

Posted 旷世奇才李先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle-多表查询相关的知识,希望对你有一定的参考价值。

工欲善其事必先利其器
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

文章目录


一、连接查询

1、查询学生信息和老师信息,并且学生中的id,和老师中的sid相等。

select * from student,teacher where student.id = teacher.sid;

2、查询学生姓名和老师姓名,并且学生中的id,和老师中的sid相等。

select s.name,t.name from student s,teacher.t where s.id = t.sid;

3、查询学生姓名和老师姓名,并且学生中的id,和老师中的sid使用左连接查询。

select s.name,t.name from student s left join teacher t on s.id = t.sid;

4、查询学生姓名和老师姓名,并且学生中的id,和老师中的sid使用右连接查询。

select s.name,t.name from student s right join teacher t on s.id = t.sid;

5、查询学生姓名和老师姓名,并且学生中的id,和老师中的sid使用内连接查询。

select s.name,t.name from student s inner join teacher t on s.id = t.sid;

二、数据集合操作

交集、并集、差集、补集

1、查询所有的学生信息和学生姓名为“张三”的学生信息,如果重复去掉重复的。

select * from student 
union
select * from student where name = '张三';

2、查询所有的学生信息和学生姓名为“张三”的学生信息,如果重复也显示出来。

select * from student 
union all
select * from student where name = '张三';

3、查询所有的学生信息和学生姓名为“张三”的学生信息的交集,如果有相交的信息查询出来。

select * from student
intersect
select * from student where name = '张三';

4、查询所有的学生信息和学生姓名为“张三”的学生信息的差集(一方有的信息另一方没有就是差集)。

select * from student
minus
select * from student where name = '张三';

三、总结

这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。

文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。

可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

以上是关于Oracle-多表查询的主要内容,如果未能解决你的问题,请参考以下文章

数据库多表查询,同字段数据合并去重,应该怎么查?

Oracle-数据的基本操作

MySQL多表联合查询过滤重复数据怎么写

Oracle-分组统计查询

Oracle-高级SQL限定查询

菜鸟请教sql问题