zoukankan      html  css  js  c++  java
  • Oracle_SQL92_连接查询

    Oracle_SQL92_连接查询

     
    笛卡儿积
    --笛卡尔积
    select * from emp;----14
    select * from dept;----4
    select * from emp,dept;----56  
    等值连接
    --等值连接(用两张表都存在的列进行等值连接)
    select * from emp, dept 
    where emp.deptno = dept.deptno;
     
     
    --查询员工的姓名,薪水,部门编号,部门名称
    select ename, sal, emp.deptno, dname from emp,dept 
    where emp.deptno = dept.deptno;
     
    --给表起了别名(不能加 as),就不能使用原来的名字了
    select ename, sal, e.deptno, dname from emp  e, dept d 
    where e.deptno = d.deptno;  
    非等值连接
    --非等值连接(用两张表都存在的列进行非等值连接)
    --查询员工的姓名,职位,薪资,薪资等级
    select e.ename, e.job, e.sal, s.grade from emp e, salgrade s 
    where e.sal>=s.losal and e.sal<=s.hisal; 
     
     
    select e.ename, e.job, e.sal, s.grade from emp e, salgrade s 
    where e.sal between s.losal and s.hisal; 
     
     
     
     
    --查询员工的编号,姓名,部门名称,薪水等级(利用等值连接和非等值连接)
    select e.empno, e.ename, d.dname, s.grade from emp e, dept d, salgrade s 
    where e.deptno=d.deptno and e.sal between s.losal and s.hisal;  
    自连接
    --自连接
    --查询员工的编号,姓名,领导的编号,领导的姓名
    select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1,emp e2
    where e1.mgr = e2.empno;  
    左外连接/右外连接
    使用外连接可以看到参与连接的某一方不满足连接条件的记录,而不仅仅是满足连接条件的数据 
     
    select * from emp;
    select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1, emp e2
    where e1.mgr = e2.empno(+);--左外连接,显示左边表的全部行  

    select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1, emp e2
    where e1.mgr(+) = e2.empno;--右外连接,显示右边表的全部行  
     
     
  • 相关阅读:
    Python all() 函数
    支付流程及安全测试(转载)
    qtp 自动化测试--点滴 菜单没有了,有些控件运行时找不到
    qtp 自动化测试---点滴 获取属性性/修改窗体标题
    点滴记录1-学习-问题-原因-解决方法
    测试职业规划 (转载)
    sql注入测试用例
    转载--测试员要想实现自己的职业发展目标,离不开这5点
    qtp 自动化测试--点滴 自定义显示工具菜单 trzedit
    QTP 自动化测试--定义变量
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/6538379.html
Copyright © 2011-2022 走看看