SQL where in 語句順序問題
你的語句有問題應該這樣 select id , name from test where id in('1001','1005','1003');如果你想按順序的話 這樣就可以select id , name from test where id='1001'union allselect id , name from test where id='1005'union allselect id , name from test where id='1003'。
SQL where in 語句順序問題
你的語句有問題應該這樣
select id , name from test where id in('1001','1005','1003');
如果你想按順序的話 這樣就可以
select id , name from test where id='1001'
union all
select id , name from test where id='1005'
union all
select id , name from test where id='1003'
in where 引導什么句子
關鍵要看從句中缺少什么成分,where是副詞,不能做主語和賓語(而代詞which缺可以,相當于名詞),一般跟地點有關的,比如in the bank,at the
office,缺地點狀語的時候,就用where
where = 介詞 + 關系代詞
比如
the house where/in
which I live is mine.
the house which I live in is mine.
the house which I
send to my girl is mine.
其它的從句跟這個是一個道理
能不能把兩個where in語句用OR連接
可以把兩個where in用or連接。實現方法如下:創建表插入數據create table test(teamid int,name varchar10)
執行第一個where inselect * from test where teamid in (1),執行第二個where inselect * from test where teamid in (2,3),將兩個where in用 or 連接select * from test where teamid in (1) or teamid in (2,3),就可以把兩次的結果合并成一個完整的結果。
表面看來,WHERE 語句和數據步驟中的in語句的功能相近,都是篩選數據和。實際上 WHERE 語句和 IF語句的運作機制是不同的。
WHERE 語句相當于對數據集執行了一個 SQL Select 的操作。也就是說,在進入到操作前數據已經被整體篩選過了,而 IF 語句是在數據步驟的每個循環中單獨執行的,WHERE 語句顯然效率要提高很多。如果數據表是索引過的,那么 WHERE 語句能夠更加顯著地提高效率。
WHERE 語句也有其限制。因為它是對現存的數據表的整體性操作,故而只能對該數據表中已有的變量進行篩選操作,不能對數據處理后生成的變量操作,也不能對 INPUT 語句定義的變量操作。
WHERE 語句不但能用于數據步驟中還能用于過程語句中。