SQL——子查询与组合查询

SQL——子查询与组合查询

  • 1. 特殊的子查询句(类临时表)
    • 1.1 常见的子查询句
    • 1.2 特殊的子查询句1(with as)
    • 1.3 特殊的子查询句2 (select * from ()镶嵌)
  • 2.组合查询(UNION/UNION ALL)
    • 2.1UNION与UNION ALL

1. 特殊的子查询句(类临时表)

1.1 常见的子查询句

         在 where 条件中某个值可以通知子查询句表示 , 就是 select 镶嵌select 语句
             select * from 
                  table1 where
                  id=(
                  select id from table2 where name='xx'
                  )

1.2 特殊的子查询句1(with as)

  with as 相当于将 as()内部的子查询句转化为一个临时可用的表,可用表的多次调用和镶嵌可用用与多条件筛选。
         with table1 asselect * from table0 where id in (0,1)select * from  table1 where table1.id=0 

1.3 特殊的子查询句2 (select * from ()镶嵌)

     可将from( )内部的子查询,转换为临时可用的表,可用于多条件筛选,相当于将结果新定义为一个临时表,避免表太多出现歧义。
          select * from (
                select * from table0 where id in(0,1)
                )table0
                where table0.id=0

2.组合查询(UNION/UNION ALL)

2.1UNION与UNION ALL

  UNION 用于将查询结果的列名相同的结果联合显示
  UNION ALL 查询后保留重复数据

     SELECT name1 , mane2 FROM table1
     UNION
     SELECT name1, mane2 FROM table2
  

你可能感兴趣的:(SQL)