黑马程序员-Oracle(第六讲)sql1992

黑马程序员-Oracle(第六讲,sql1999

1、自连接

需求:求出emp表中每个人的名字,以及他的经理人的名字

 

2、sql语言有两个版本,19921999,上面的语法基本都是旧的语法,现在来学习一下新的语法。

看个sql语句:

 

这是1992的标准,它的缺点是没有将连接条件个过滤条件明显的分开。

 

 

同样的效果,看看1999的新语法

 

3、选出emp表中每个人是哪个部门的

sql语句:

 

新的sql语句不会这么写,它不会将连接条件放在where里面,where里面只放过滤条件。

 

on指定连接条件。

对于这种等值连接还有一种简单用法,

 

它的意思是用两个表中deptno相等进行连接,但是这种用法不推荐使用。

4、看看非等值连接的情况

求出emp表中每个人的薪水等级

 

再看一下三个表连接在一起的情况:
求出emp表中每个人的姓名,所属部门,薪水等级,并且这个人的名字的第二个字母不能是A.

 

求出emp表中所有人的姓名及其经理的姓名

 

注意上面选择了13行,因为KING没有经理,那么我们如果也想要将KING选出来呢?即使他没有经理。这时候可以用做外连接。

5、左外连接

会将左边那张表中没有匹配的数据也显示出来

 

 

效果一样 leftleft outer的简写。

 

6、右外连接 right outer 可以省略outer

 

可以看到,在dept中有deptno40的记录

但是

 

由于在emp表中没有员工的所属部门是OPERATIONS,所以看不到这个部门,但是现在我想要在结果中显示所有的部门,这就要用到右外连接。

 

7、全外连接 full join

就是将左边表右边表的所有数据都显示出来

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值