zoukankan      html  css  js  c++  java
  • 高级查询(1.连接查询(对列的扩展)2.联合查询(对行的扩展)3.子查询)

    高级查询

    1.连接查询(对列的扩展)

    第一种形式:
    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 Info.Code as '代号',Info.Name as '姓名',Sex as '性别',Nation.Name as '民族',Birthday as '生日' from Info,Nation where Info.Nation = Nation.Code #换表头

    第二种形式:
    select * from Info join Nation #join连接
    select * from Info join Nation on Info.Nation = Nation.Code #join on关键字


    2.联合查询(对行的扩展)
    select * from Info where Nation = 'n002'
    union
    select * from Info where Code = 'p002'

    3.子查询(无关子查询)
    在一个SQL语句中,至少有两个查询,其中一个a查询的结果作为另一个b的查询条件,a成为里层查询或者子查询,
    b成为外层查询或父查询。

    查询民族为“汉族”的人员信息:
    select * from Info where Nation =(select Code from Nation where Name = '汉族')

    查询民族为“汉族”或者"回族"的人员信息
    select * from Info where Nation in (select Code from Nation where Name = '汉族' or Name = '回族')

    4.子查询(相关子查询)

    查询同一系列的 油耗要比平均油耗低的汽车信息

    子查询:select avg(Oil) from Car where Brand = ''
    父查询:select * from Car where Oil< 平均油耗

    select * from Car a where a.Oil <(select avg(b.Oil) from Car b where b.Brand = a.Brand)

  • 相关阅读:
    python的mysql-connector和pymysql
    java知识整理
    Spring——使用自定义标签
    Eclipse maven 错误修正方法:An error occurred while filtering resources
    设计模式--模板模式
    编译Spring源码
    Lunix 命令
    (转)设计模式——策略模式
    JVM(一)
    SenjuFamily项目总结 之 Activiti 学习总结(一)
  • 原文地址:https://www.cnblogs.com/Yue0327/p/5275494.html
Copyright © 2011-2022 走看看