คำถามติดแท็ก query-refactor

3
หลีกเลี่ยงการแสดงออกหลายหรือ `
ฉันมี SQL oracle ต่อไปและผลงานของตนและ แต่มันค่อนข้างน่าเกลียดที่มีทั้งหมดของors มีวิธีรัดกุมกว่านี้ไหม? SELECT * FROM foobar WHERE (SUBJECT ='STAT' and TERM ='111') or (SUBJECT ='STAT' and TERM ='222') or (SUBJECT ='ENGLISH' and TERM ='555') or (SUBJECT ='COMM' and TERM ='444') or (SUBJECT ='COMM' and TERM ='333') or (SUBJECT ='STAT' and TERM ='666') ...

3
แบบสอบถามทั้งสองนี้เทียบเท่ากันอย่างมีเหตุผลหรือไม่
แบบสอบถามทั้งสองนี้เทียบเท่ากันอย่างมีเหตุผลหรือไม่ DECLARE @DateTime DATETIME = GETDATE() แบบสอบถาม 1 SELECT * FROM MyTable WHERE Datediff(DAY, LogInsertTime, @DateTime) > 7 แบบสอบถาม 2 SELECT * FROM MyTable WHERE LogInsertTime < @DateTime - 7 ถ้ามันไม่เท่ากันอย่างมีเหตุผลคุณช่วยให้ฉันมีเหตุผลเทียบเท่ากับการสืบค้นแรกเพื่อที่ WHERE clause สามารถใช้ดัชนีได้อย่างมีประสิทธิภาพ (เช่นกำจัดการตัดฟังก์ชั่น)?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.