美文网首页
Oracle数据库——多表查询

Oracle数据库——多表查询

作者: 咸鱼有梦想呀 | 来源:发表于2017-11-29 19:53 被阅读0次

    一、关联查询

    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中最高工资员工信息 查询工资大于本部门平均工资的员工信息

    相关文章

      网友评论

          本文标题:Oracle数据库——多表查询

          本文链接:https://www.haomeiwen.com/subject/onbubxtx.html