Oracle数据库——多表查询

一、关联查询

1.关联查询
select 表1的字段名,表2的字段名 from 表1 [别名1],表2 [别名2] where [别名1].字段名=[别名2].字段名;

关联查询

如果不指定关联条件,那么返回的记录数为:m*n条记录也就是笛卡儿积。

不指定定关联条件

2.内连接
select 表1的字段名,表2的字段名 from 表1 inner join 表2 on [别名1].字段名=[别名2].字段名;

内连接

3.等值连接
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名=[别名2].字段名;

等值连接

查询返回结果和内连接一样

4.左/右外连接
显示左表/右表的所有信息
select 表1的字段名,表2的字段名 from 表1 left/right outer join 表2 on [别名1].字段名=[别名2].字段名;

左连接
右连接

左连接和右连接都是外连接,outer可以省略写。

在Oracle中特有的查询左右外连接方式:
左外:
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名=[别名2].字段名(+);

oracle的左外连接

右外:
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名(+)=[别名2].字段名;

oracle的右外连接

5.全连接
没有匹配结果也会出现
select 表1的字段名,表2的字段名 from 表1 full outer join 表2 on [别名1].字段名=[别名2].字段名;

全连接

6.不等值连接
select 字段名 from 表1 [别名1],表2 [别名2] where 字段名 between 表1字段名 and 表2字段名;

7.自连接
select [别名].字段名 from 表1 [别名1],表2 [别名2] where [别名1].字段名1=[别名2].字段名2;

关联的表中有相同字段名,要使用表名/别名引用。

二、子查询

sales中最高工资员工信息
查询工资大于本部门平均工资的员工信息
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,346评论 0 7
  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 1,562评论 0 0
  • mysql数据库中 :database : 文件夹table : 数据表(数据文件) 进入mysqlmysql -...
    赋闲阅读 650评论 0 0
  • 从前 喜欢搬个小板凳到院子里 抓萤火虫 或者看星星 黑夜好像也寂寞 每一次抬头 它其实很近 永远坐在大地上 而后静...
    雨篱阅读 129评论 0 4
  • 没有刘海会死星人的周末,其实是没有刘海的。
    小杏仁阅读 538评论 1 6

友情链接更多精彩内容