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

    一、子查询

    • 子查询在其他查询的基础上提供了一种有效的方式来表示where子句的条件。
    • 子查询是可以嵌套在select、insert、update、delete语句中。
    • 子查询的select查询总是使用圆括号括起来。
    • 子查询分成两种:嵌套子查询、相关子查询

    二、嵌套子查询

    在MySQL中的子查询是可以嵌套使用的,并且可以在一个查询中嵌套任意多个子查询,即一个子查询中还可以包含另一个子查询,这种查询方式为嵌套子查询。

    嵌套查询语句格式:

    select  列名  from  表名  where  列名  in(select查询语句)

    select(select(select(select)

    三、相关子查询

    指的是子查询的结果有且只有一个值。

    (1)使用insert和select语句结合

    当insert语句和selecti语句做结合,就是把查询的结果插入到某一张表中。

    格式:

    insert   into  表名  select查询语句

    (2)使用delete和select语句结合

    delete from 表名 where 列名 in (select查询语句)

    例∶删除计算机系学生的成绩

    delete from sc where sno in (select sno from student where dept=’计算机系’)

    (3)使用update和select语句(子查询)结合

    例如将计算机系全部学生的成绩加5分

    Update sc set grade = grade+5

    Where sno in (select sno from student where dept=’计算机系’)

    四、子查询注意事项

    1、where后面的条件要什么,子查询就查什么。比如:条件要学号,子查询就查学号

    2、什么情况优先考虑子查询?给出的条件没有明确的提示时候用。例如:查询计算机系学生选修了哪些课程?

    3、where后面要用到聚合函数当条件,聚合函数不能直接写,就可以借助查询语句把聚合函数的结果给查出来就行,比如成绩大于平均成绩

    where grade>(sellect avg(grade) from sc)==>where grade>78

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    极简Docker和Kubernetes发展史
    什么是健身
    《高效休息法》IT从业者如何高效休息
    《我们赖以生存的隐喻》文学中的面向对象
    sequelize时间自动格式化
    什么是消息队列
    node.js中this指向失效解决
    node.js的async和await
    node.js箭头函数使用
    node.js如何批量赋值
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14920933.html
Copyright © 2011-2022 走看看