-1
A
回答
1
通常情況下,你能避免IN
時你有一個以上的表參與
如果您有類似
SELECT name
FROM students s
WHERE student_id IN (SELECT student_id
FROM courses
WHERE course_id = 1
);
在這種情況下,你可以使用EXISTS
SELECT name
FROM students s
WHERE EXISTS (SELECT NULL
FROM courses c
WHERE c.student_id = s.student_id
AND c.course_id = 1
);
1
使用EXISTS語句。所以,你的查詢將改成這樣:
select stdId, stdName from students where exists(:stdsIds where stdId = students.stdId)
編輯:我不使用甲骨文,但我「覺得」語法將是這個樣子:
select stdId, stdName from students where exists(:stdsIds = students.stdId)
相關問題
- 1. 避免在野牛連續運營商
- 2. 如何避免使用++和 - 運營商
- 3. ??運營商在SQL
- 4. 或運營商與三元運營商
- 5. SQL BETWEEN運營商
- 6. 避免運營商>>在空白處輸入時出現
- 7. LIKE與運營商
- 8. PHPExcel與運營商
- 9. 與「ISIN」運營商
- 10. 奇怪的行爲:SQL和運營商,在多個運營商
- 11. 「和」與「&&」運營商在軌
- 12. SQL不能與所有運營商
- 13. SQL EXISTS運營商與GROUP BY
- 14. 運營商在python超載與運營商
- 15. SQL加入運營商IN
- 16. 使用蒙戈$切片運營商與其他運營商
- 17. 差異增量運營商的工作與&和運營商
- 18. 空 - 結合運營商和運營商&&
- 19. 運營商的情況下運營商
- 20. 的JavaScript +運營商VS - 運營商
- 21. 右聯想與運營商:
- 22. 與運營商分解
- 23. 複製與像運營商
- 24. 與三元運營商
- 25. 問題與運營商&&
- 26. mysqli的與運營商
- 27. 與條件和運營商
- 28. 與運營商計算
- 29. 懷疑與Java運營商
- 30. 像運營商與NSpredicate
你想改變它 – Tom
我想你應該有這個標記爲甲骨文而不是SQL Server – cBlaine
@cBlaine如果你看一下原來的編輯做什麼,OP寫「我目前正在使用SQL服務器。」我刪除了[tag:oracle]。看起來他們希望將查詢從Oracle轉換爲SQL Server。 – Kermit