2011-04-01 55 views
2

這是什麼意思說的;oracle 1 = 1 in join clause

select col1,col2 from table1 join table2 on 1=1 where table2.status = '1' 
+2

意味着原始開發者喜歡編寫模糊的查詢。 – rsenna 2011-04-01 21:12:57

+0

在這裏檢查:[在Oracle中,啓動SQL查詢的WHERE子句,1 = 1是否有用?](http://stackoverflow.com/questions/1069373/in-oracle-is-starting-the-sql-querys-where -clause-與-1-1-有用) – 2011-04-04 03:00:46

回答

1

看起來像一個交叉連接給我。

1

有時我會在工具生成的查詢中看到類似「1 = 1」的謂詞。

該工具的僞代碼會是這樣的:

sql := sql || '1=1'; 
FOR i IN 1 .. predicates.COUNT LOOP 
    sql := sql || ' AND ' || predicates(i); 
END LOOP 

這樣,就不必擔心遺漏「和」第一個謂語。