SQL连接查询

sql连接查询

笛卡尔积:

select * from emp,dept;
select * from emp cross join dept;

等值连接(内连接)
(内连接把两个表连接成一个表(称为第三个表),在这个表中仅包含那些满足连接条件的记录行):

   Select * from emp,dept where emp.deptno=dept.deptno;

外连接
(如果想只限定一个表的条件而不限定另外一个表的条件,就需要使用外连接):

  select * from emp,dept where emp.deptno=dept.deptno;
  select * from emp,dept where emp.deptno(+)=dept.deptno;
  select * from emp right join dept on emp.deptno=dept.deptno;
  select * from dept left join emp on dept.deptno=emp.deptno;

自连接
(自连接就是把某一张表中的行同该表中另外一些行连接起来):

   select e.empno,e.ename,a.ename,a.mgr 
    from emp e,emp a 
    where e.mgr=a.empno;

多表关联查询:

  select e.ename, e.sal, b.grade, a.ename, a.sal, d.grade
  from emp e, emp a, salgrade b, salgrade d
  where e.sal between b.losal and b.hisal
  and a.sal between d.losal and d.hisal
  and e.mgr = a.empno;

指定操作关联列:using
select * from emp join dept using(deptno);
自然连接:
select * from emp natural join dept ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值