Sql-Server
如何閱讀 select 語句以了解結果
我確信這是一個非常基本的問題,但我仍然要問它,在 Oracle HR 模式上進行查詢我注意到這兩個查詢的結果是不同的:
我想知道為什麼會發生這種情況,使用括號時它會給我想要的結果,而如果我不使用括號它會給我另一個沒有意義的記錄(Pat Fay),我應該如何閱讀這句話要了解這些輸出,非常感謝。
這是關於操作順序的:“and”發生在“or”之前,所以
where department_id=20 or department_id=50 and salary >= 8000
實際上是一樣的
where department_id=20 or ( department_id=50 and salary >= 8000 )
並且有不同的結果
where ( department_id=20 or department_id=50 ) and salary >= 8000
其中括號強制操作順序不同,並且部門 ID 一起評估。