zoukankan      html  css  js  c++  java
  • 9、SQL基础整理(两表连接exists,join on,union)*Oracleも含む(INTERSECT&MINUS)

    exists的用法

    select *from haha where exists (select *from bumen where bumen.code = haha.bumen and bumen.name = '销售部' )and age>35

    (运行方法为逐条查询)

    select name,sex,age,(select name from bumen where bumen.code = haha.bumen)as 部门 from haha

    select name,sex,age,(select name from bumen where bumen.code = haha.bumen)as 部门,(select ceo from bumen where bumen.code = haha.bumen)as ceo from haha

    连接两表之间的简便写法:

    1.

     

    select haha.name,sex,age,bumen.name,ceo from bumen,haha where haha.bumen = bumen.code

     

    2.join on(顺序可颠倒)

    select haha.name,sex,age,bumen.name,ceo from haha

    join bumen on haha.bumen = bumen.code

    3.full的用法

    insert into haha values(15,'实物','nv',34,5)

    insert into bumen values(6,'保安部','保证安全',null,null)

    select bumen.name,zhineng,ceo,haha.name,sex,age from haha

    full join bumen on bumen.code = haha.bumen

    4left的用法

    在没有关系的情况下,只显示join左边表的所有数据,不显示右边表的数据

    5right的用法

    同上

    (left 和right都是与所全部显示的数据的排序方式一致)

    union的用法

    将两列连接起来,必须满足数据类型对应,具有自动去重的功能(按照拼音或者数字排列,打乱原有的顺序)

    select*from haha where code > 10

    union

    select*from haha where code < 5

    select name,bumen from haha where code > 10

    union

    select ceo,code from bumen

    *INTERSECT & MINUS

    table1 Intersect table2 → data in both table1 and table2

    table1 minus table2 → data in table1 except data in table2

  • 相关阅读:
    整合Druid数据源
    SpringBoot与数据访问
    IDEA spirng boot @Autowired注解 mapper出现红色下划线解决方法
    IntelliJ Idea 常用快捷键列表
    docker 安装mysql示例
    设计模式都没用过,好意思出去面试?
    为什么 Java 线程没有 Running 状态?
    厉害了,淘宝千万并发,14 次架构演进…
    Redis 内存满了怎么办……
    Java 线程池 8 大拒绝策略,面试必问!
  • 原文地址:https://www.cnblogs.com/wleaves/p/4165023.html
Copyright © 2011-2022 走看看