• 【练习】子查询


    1.子查询:子查询要包含在括号内,将子查询放在比较条件的右侧增强可读性(子查询可以出现在比较运算符的两侧),单行操作符对应单行子查询,多行操作符对应多行子查询

    SQL> select last_name,salary from employees where salary > (select salary from employees where last_name = 'Abel');
    
    LAST_NAME                     SALARY
    ------------------------- ----------
    Hartstein                      13000
    Higgins                        12008
    King                           24000
    Kochhar                        17000
    De Haan                        17000
    Greenberg                      12008
    Russell                        14000
    Partners                       13500
    Errazuriz                      12000
    Ozer                           11500
    
    10 rows selected.

    2.在子查询中使用组函数:

    SQL> SELECT last_name, job_id, salary
    FROM   employees
    WHERE  salary = 
                   2    3    4     (SELECT MIN(salary)
                     FROM   employees);
      5  
    LAST_NAME                 JOB_ID         SALARY
    ------------------------- ---------- ----------
    Olson                     ST_CLERK         2100

    3.子查询中的 HAVING 子句:首先执行子查询,向主查询中的 HAVING 子句返回结果:

    SQL> SELECT   department_id, MIN(salary) FROM employees
      2  GROUP BY department_id HAVING   MIN(salary) > (SELECT MIN(salary) FROM  employees
      3  WHERE  department_id = 50);
    
    DEPARTMENT_ID MIN(SALARY)
    ------------- -----------
              100        6900
               30        2500
                         7000
               20        6000
               70       10000
               90       17000
              110        8300
               40        6500
               80        6100
               10        4400
               60        4200
    
    11 rows selected.

    4.子查询中的空值问题,子查询不返回任何行,因为员工表没有“Haas”:

    SQL> SELECT last_name, job_id FROM   employees
      2  WHERE  job_id = (SELECT job_id  FROM   employees WHERE  last_name = 'Haas');
    
    no rows selected
  • 相关阅读:
    pip解决超时问题(timeout)
    Docker commit使用
    Docker基本命令汇总
    python redis模块详解
    python异步编程之asyncio(百万并发)
    VideoJS 与 Framework7 中 fastclick 冲突问题
    Linux 下解决安装多个node冲突的问题(重新安装node)
    git push multiple repo
    webpack import windows case sensitive
    一键切图 PS 动作 【收藏】
  • 原文地址:https://www.cnblogs.com/tomatoes-/p/6071503.html
Copyright © 2020-2023  润新知