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

    高级查询

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

    第一种形式
    select * from Info,Nation #会形成笛卡尔积

    select * from Info,Nation where Info.Nation = Nation.Code #加入筛选条件


    select Info.Code,Info.Name,Sex,Nation.Name 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关键字

    2.联合查询(对行的扩展)

    select * from Info where Nation = 'n002'
    union #关键字
    select * from Info where Code = 'p002'

    3.子查询(无关子查询) 如果子查询语句可以单独拿出来执行,就是无关查询
    在一个sql语句中有两个子查询,其中一个a查询的结果作为另一个b的

    select查询条件,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 = '回族')

    select * from Info where Nation not in (select Code from Nation where Name = '汉族' or Name = '回族')
    #in 关键字 not in不在表里

    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)

    #b.Brand 是 查询条件,a.Brand 是 逐条的信息

  • 相关阅读:
    网站术语
    移动web开发入门
    Bootstrap研究3基础html元素
    我所理解的jQuery(3)jQuery的构建
    你好,2011
    Bootstrap研究0概述
    Bootstrap研究2布局系统杂记
    我所理解的jQuery(2)谈jQuery的整体设计,驳"侵入性太强"
    winxp等操作系统下数据库文件 迁移到 win7下,附加时发生Error: 5123 的解决方法
    Bootstrap研究1精巧的网格布局系统
  • 原文地址:https://www.cnblogs.com/sjxx/p/5277384.html
Copyright © 2011-2022 走看看