zoukankan      html  css  js  c++  java
  • Oracle 学习笔记(七)

    子查询

    概念:指嵌入在其他 sql 语句中的 select 语句,也叫做嵌套查询。 

     

    单行子查询 

    指只返回一行数据的子查询语句

    查询 SMITH 同部门的所有员工 

    1、查询出 SMITH 的部门号 

    select deptno from emp WHERE ename = 'SMITH'; 

    2 、查询 SMITH 同部门的所有员工  

    SELECT * FROM emp WHERE deptno = (select deptno from emp WHERE ename = 'SMITH'); 

    (执行 sql 是从左到右扫描,如果有括号,括号里面的先被优先执行)

    多行子查询

    指返回多行数据的子查询语句

    查询和部门 10 的工作相同的雇员的名字、岗位、工资和部门号 

    1、去重查询部门为 10 的工作

    SELECT DISTINCT job FROM emp WHERE deptno = 10; 

    2、查询和部门 10 的工作相同的雇员的名字、岗位、工资和部门号

    SELECT * FROM emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno = 10); 

    (不能用 job = **,因为等号是一对一的) 

    在多行子查询中使用 all 操作符

    查询工资比部门 30 的所有员工的工资高的员工的姓名、工资和部门号

    SELECT ename, sal, deptno FROM emp WHERE sal > all (SELECT sal FROM emp WHERE deptno = 30); 

    还可以用函数 MAX 查询 

    SELECT ename, sal, deptno FROM emp WHERE sal > (SELECT MAX(sal) FROM emp WHERE deptno = 30); (执行效率上, 函数高得多) 

    在多行子查询中使用 ANY 操作符

    查询工资比部门 30 的任意一个员工的工资高的员工姓名、工资和部门号

    SELECT ename, sal, deptno FROM emp WHERE sal > ANY (SELECT sal FROM emp WHERE deptno = 30); 

    今天笔记做到这,后续有空继续。

      

    【微信公众号:Stephen】一个毕业三年后自学 Java 入行的程序员。
  • 相关阅读:
    Android打包报错 Export aborted because fatal lint errors were found. These are listed in the Lint View
    jqMobi 更小更快的移动框架
    php报错:Call to undefined function get_magic_quotes_gpc()
    php:字符窜截取substr和mb_substr
    Warning Creating default object from empty value in xxx.php
    linux下安装xampp
    程序员找不女朋友的原因
    键盘各种按键对应的ASII码
    Read All About It-Attraction舞团
    What are words-Chris Medina
  • 原文地址:https://www.cnblogs.com/stephen-java/p/10816713.html
Copyright © 2011-2022 走看看