Oracle-多表查询

举报
小奇JAVA 发表于 2022/06/28 00:31:00 2022/06/28
【摘要】 工欲善其事必先利其器 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。 ...

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

在这里插入图片描述


一、连接查询

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

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

  
 
  • 1

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

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

  
 
  • 1

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

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

  
 
  • 1

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

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

  
 
  • 1

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

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

  
 
  • 1

二、数据集合操作

交集、并集、差集、补集

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

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

  
 
  • 1
  • 2
  • 3

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

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

  
 
  • 1
  • 2
  • 3

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

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

  
 
  • 1
  • 2
  • 3

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

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

  
 
  • 1
  • 2
  • 3

三、总结

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

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

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

文章来源: xiaoqijava.blog.csdn.net,作者:旷世奇才李先生,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaoqijava.blog.csdn.net/article/details/125435918

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。