SQL 子查詢與組合查詢

2021-10-03 06:47:56 字數 910 閱讀 8715

2.組合查詢(union/union all)

在 where 條件中某個值可以通知子查詢句表示 , 就是 select 鑲嵌select 語句
select

*from

table1 where

id=(select id from table2 where name=

'xx'

)

with as 相當於將 as()內部的子查詢句轉化為乙個臨時可用的表,可用表的多次呼叫和鑲嵌可用用與多條件篩選。
with table1 as( 

select

*from table0 where id in(0

,1) )

select

*from table1 where table1.id=

0

可將from( )內部的子查詢,轉換為臨時可用的表,可用於多條件篩選,相當於將結果新定義為乙個臨時表,避免表太多出現歧義。
select

*from

(select

*from table0 where id in(0

,1))table0

where table0.id=

0

union 用於將查詢結果的列名相同的結果聯合顯示

union all 查詢後保留重複資料

select name1 , mane2 from table1

union

select name1, mane2 from table2

子查詢與組合查詢

當我們想查詢另外乙個表的字段資訊的時候就可以使用子查詢 select 欄位1 欄位2,select 字段 from 表2 where 條件 from 表1因為這邊in是可以放乙個集合的所有可以結合使用exists與in差不多但是要注意寫法 select 欄位1 欄位2 from 表1 where 欄...

SQL 組合查詢

如何利用union操作符將多條select語句組合成乙個結果集?sql允許執行多個查詢 多條select語句 並將結果作為乙個查詢結果集返回。這些組合查詢通常稱為並 union 或復合查詢 compound query 主要有兩種情況需要使用組合查詢 在乙個查詢中從不同的表返回結構資料 對乙個表執行...

sql約束與子查詢

1.主鍵約束 1.2聯合主鍵 例 create table stu classid int,stuid int,styname varchar 50 primary key classid,stuid 1.3 建立表之後新增主鍵 create table stu classid int,stuid ...