zoukankan      html  css  js  c++  java
  • 高级查询

    1.连接查询,对结果集列的扩展
    select * from info

    select * from info,nation #形成笛卡尔积
    select * from info,nation where info.nation=nation.code
    select info.code,info.name,sex,nation.name,birthday from info,nation where info.nation=nation.code

    select * from info join nation on info.nation=nation.code

    2.联合查询,对结果集行的扩展
    select code,name from info
    union
    select code,name from nation

    3.子查询

    父查询:外层查询
    子查询:里层查询

    子查询的结果做为父查询的条件

    (1)无关子查询
    子查询在执行的时候和父查询没有关系,子查询可以单独执行

    1.查询民族为‘汉族’的所有人员信息
    父查询:select * from info where nation=()
    子查询:select code from nation where name='汉族'

    select * from info where nation=(select code from nation where name='汉族')
    2.查询系列名为‘宝马5系’的所有汽车信息
    select * from car where brand=(select brand_code from brand where brand_name='宝马5系')

    (2)相关子查询
    子查询在执行的时候和父查询有关系,子查询不可以单独执行

    1.查询汽车表中油耗小于该系列平均油耗的所有汽车信息
    父查询:select * from car where oil<(该系列平均油耗)
    子查询:select avg(oil) from car where brand=该系列

    select * from car as a where oil<(select avg(oil) from car as b where b.brand=a.brand)

  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    线性表——数组实现
    this指针与const成员函数
    类对象拷贝是不是赋值操作??
    你真的理解内联函数吗?
    名字查找先于类型检查:函数重载与作用域
    谈谈函数调用
    推荐形参使用常量引用:void func(const T &);
  • 原文地址:https://www.cnblogs.com/zqseven/p/6134388.html
Copyright © 2011-2022 走看看