SQL語句應(yīng)該如何進(jìn)行反向選擇?
網(wǎng)友解答: 我曾經(jīng)做了10多年的MIS開發(fā),對(duì)SQL語句有一定的經(jīng)驗(yàn),我來回答以下這個(gè)問題,我理解你說的SQL語句反向選擇應(yīng)該是WHERE語句中的條件吧。這個(gè)問題不太好說,舉幾個(gè)例子來說
我曾經(jīng)做了10多年的MIS開發(fā),對(duì)SQL語句有一定的經(jīng)驗(yàn),我來回答以下這個(gè)問題,我理解你說的SQL語句反向選擇應(yīng)該是WHERE語句中的條件吧。這個(gè)問題不太好說,舉幾個(gè)例子來說明。
比如有一個(gè)表,叫做員工信息表,名字叫ygxxb,字段簡單說明如下:
字段名 字段描述 類型
ygid 員工號(hào) 字符型
ygxm 姓名 字符型
xb 性別 字符型
csrq 出生日期 日期型
hyzt 婚姻狀態(tài) 字符型 (未婚、已婚、離婚、喪偶)
例子一:查詢出在1980年之后(含1980年)出生的員工信息,可以這樣寫。
select * from ygxxb where csrq='1980-01-01'
取反語句如下:
select * from ygxxb where csrq<'1980-01-01'
例子二:查詢出在1980-07-01(含當(dāng)天)到1985-10-30(含當(dāng)天)之間 出生的員工信息,可以這樣寫。
select * from ygxxb where csrq='1980-07-01' and csrq<='1985-10-30'
取反語句如下:
select * from ygxxb where csrq<'1980-07-01' or csrq'1985-10-30'
例子三:查詢出‘未婚’和‘已婚’的員工信息,可以這樣寫。
select * from ygxxb where hyzt in ('未婚'、'已婚')
取反語句如下:
select * from ygxxb where hyzt not in ('未婚'、'已婚')
如何寫SQL的取反語句,還是要結(jié)合實(shí)際的需求來寫,而且一般來說也可以有多種寫法,只要多加練習(xí),你一定可以做到的。