相關查詢類似子查詢,但是又不同于子查詢;子查詢中的子條件可以單獨查出數據,但是相關查詢的子條件不能查處數據。(可以理解成C#中for的窮舉法,第一個for走一個,第二個for走一圈,在相關查詢中,括號內的數據只有幾個,外面的查詢有全部的數據,每個數據到括號中去比較是否合適)
格式:
select * from 表名1 as a where a.列名 關系表達式或邏輯運算符
(
select * from 表名1 as b where a.相關列名1 = b.相關列名1
)
相關查詢的查詢原理:(在同一個表中)在括號內,根據相關列名的對應關系,如果a的數據等于b,則執行括號內的代碼
Case語句:類似C#中的switch() case用法
格式:
Case 一個表達式的值或者列名或者不寫
When 1 then ‘’
When 2 then ‘’
create table qiusai
(
name nvarchar(10),
score nvarchar(10)
)
insert into qiusai values('拜仁','勝')
insert into qiusai values('奇才','勝')
insert into qiusai values('湖人','勝')
insert into qiusai values('拜仁','負')
insert into qiusai values('拜仁','負')
insert into qiusai values('奇才','勝')
select * from qiusai
case的用法:(增加一個case表示增加一列,case的用法和c#中 switch case的用法類似)
select name,count(
(
case score
when '勝' then '111'
end
))as 勝,count(
(
case score
when '負' then '000'
end
))as 負
from qiusai group by name
使用后的結果
新聞熱點
疑難解答