zoukankan      html  css  js  c++  java
  • CRUD操作二(查询——高级查询)

          高级查询:

                1.联合查询:为对行的扩展,

                      select 列名 from 表名 union select 列名 from 表名,

                            union表示联合;

                2.连接查询:为对行的扩展,会形成笛卡尔积,所以不适于数据量大的数据,会导致运行速度很慢,

                      select 表名1.列名1,表名1.列名2,表名2.列名3 from 表名1,表名2 where 表名1.列名4=表名2.列名5,

                      其中列名如果有重名的则必须在其前面加上表名,如果不重名则可以不加;

                      select 表名.列名,表名.列名,列名 from 表名 join 表名 on 表名.n列名=表名.列名,

                      join表示连接表,on后面加条件,如果在join前面加上left或right则表示以左边或者右边的表为主,该部分全部显示,如果没有则会自动补空;

                3.子查询:子查询的结果作为父查询的条件使用

                      无关子查询:子查询和父查询没有关系,子查询单独拿出来可以执行

                            例1:查找民族为“汉族”的所有人员信息

                            select * from info where nation =(select code from nation where name='汉族')

                            例2:查询所有厂商是“一汽大众”的汽车信息

                            select * from car where brand in(select brand_code from brand where prod_code in(select prod_code from Productor where prod_name='一汽大众')

                      相关子查询:子查询和父查询有关系,子查询不能单独拿出来执行

                            例:查询油耗低于该系列平均油耗的汽车信息

                            分析:

                            select * from car where oil<(该系列平均油耗)

                            select avg(oil) from car where brand='该系列'

                            答:

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

  • 相关阅读:
    PowerShell(0)Windows PowerShell交互界面
    WIN8的特性
    利用笔记本的WiFi做AP共享网络
    MD5和SHA加密测试
    WMI操作示例
    购买Microsoft Technet订阅,免费获得微软几乎所有的产品序列号“用于评估”,
    une petite bébé
    为ESX5主机配置多路径共享存储(以MD3000I为例)
    获取网卡信息
    CISCO交换机端口回环的处理方法备忘
  • 原文地址:https://www.cnblogs.com/maoqiaoyu123/p/8176293.html
Copyright © 2011-2022 走看看