zoukankan      html  css  js  c++  java
  • 多表查询

    1.连接查询

    select * from 表1,表2

    形成笛卡尔积

    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

    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='一汽大众'))

    (2)相关子查询:子查询在执行的时候需要用到父查询的内容

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

    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

  • 相关阅读:
    jvm 垃圾收集算法
    jvm 判断对象死亡
    jvm 内存分配
    jvm 对象奥秘
    mysql事务测试及delete和update是使用行级锁,还是表级锁
    sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化
    java nio详解
    mysql数据库优化概述详解
    java 序列化和反序列化
    java io框架详解
  • 原文地址:https://www.cnblogs.com/yangmengchao/p/11006012.html
Copyright © 2011-2022 走看看