zoukankan      html  css  js  c++  java
  • 006 子查询

    本质:

    sql查询的结果是一个结果集,无论如何这个结果集就有四种情况.

    [1]一个数值

    [2]一列值

    [3]一条记录(一行)

    [4]多行多列

    那么,我们就可以将子查询视为一种结果集的嵌套.

    这样,使用子查询和我们之前的sql根本没有任何区别.


    只要我们可以理解子查询的结果集的原理,我们就能使用子查询完成各种查询的嵌套.

    但是过多的子查询会使sql的效率变得很低,这也就是我后面会讨论的sql的优化问题.


    子查询的命名:

    标量子查询(一个数值)

    列子查询(一列多行)

    行子查询(结果集为一行多列)

    表子查询(多行多列)


    标量子查询

    SELECT last_name,employee_id,salary
    FROM employees
    WHERE salary>(

    SELECT AVG(salary)
    FROM employees
    );

    我们的子查询的结果为一个数值.


    列子查询:

      

    SELECT last_name,employee_id
    FROM employees
    WHERE department_id IN(
      SELECT DISTINCT department_id
      FROM employees
      WHERE last_name LIKE '%u%'
    );

    结果集返回一个列值.

    从上面的内容可以看出,我们使用子查询只要知道结果集,那么就可以使用子查询.

  • 相关阅读:
    Variational Autoencoders and Nonlinear ICA: A Unifying Framework
    各层的特征的差异性
    TriggerBN +
    Exponential family of distributions
    个人加分项
    对老师的建议
    2021.6.19
    2021.6.18
    2021.6.17
    2021.6.16
  • 原文地址:https://www.cnblogs.com/trekxu/p/8492745.html
Copyright © 2011-2022 走看看