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

    1.链接查询

    适用于有外键关系的  没有任何关系没法用这个连

    Select  *  from  info,nation                                 同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积

    Select  *  from  info,nation  where info.nation=nation.code

    select  Info.code,Info.name,Info.sex,Nation.name as '民族',Info.birthday   from Info,Nation where Info.nation=Nation.code

    关键字链接

    Select  * from  info  join  nation  on  info.Nation=   nation.code                                  join  on  关键字

    2.联合查询   列要一致

    Select   code,name   from  info

    union

    Select   code,name   from  nation

    3.子查询

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

    (1)无关子查询

           查民族为’汉族’的所有学生信息

    Select  *  from  info  where  nation=                                        父查询

    (

    Select  code  from  nation  where name = ‘汉族’                           子查询

    )                                                                                                        

    查询生产厂商为一汽大众的所有汽车信息

    Select  *  from  car   where  brand=()

    Select brand_code from  brand  where   prod_code=()

    Select  prod_code  from  productor  where prod_name=’一汽大众’

    合并变成  ↓

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

    很确定的信息用‘=’ 不确定的用‘in’

    (2)相关子查询

    子查询在执行时候需要用到父查询的内容

    查询汽车表中,汽车油耗小于该系列平均油耗的所有信息

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

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

    组合 变成↓

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

    a.brand 就是当前卡主的那条信息

  • 相关阅读:
    登录及注册页面
    多方式登录
    git笔记
    后台主页模块设计
    auth模块迁移后需新增字段
    使用idea构建SpringBoot源码
    Springboot相关面试问题
    Springboot自动加载工具-devtools的理解与使用
    SpringBoot项目的一些简单常用配置
    Java线程池及Executor框架的理解
  • 原文地址:https://www.cnblogs.com/sq45711478/p/5969904.html
Copyright © 2011-2022 走看看