技術社區
SQL where in語句中一次select多個屬性值的方法
回復列表
-
0092020-03-06
在oracle數據庫中使用SQL語句查詢時,遇到了需要使用where in語句一次選擇多個多個屬性值的情況,第一反應是:
select a,b from table where (a,b) in (10000,30);
但程序報錯,雖然可以使用子查詢語句的方式訪問:
select a,b from table where (a,b) in (select num from table where in…);
但是確定數值確實無法訪問,經過嘗試分析以下語句可以通過:
select a,b from table where (a,b) in (((10000),(30)));
初步分析為where a 需要第一層函數封裝即(10000),在一般情況下括號被省略;where a,b理論上需要第二層函數封裝((10000),(30)),但是由于where不支持a,b語法,所以還需要第三層封裝,即最終結果(((10000),(30)))。
