我需要對具有數千個用戶的大型資料庫執行查詢。我有查詢,但我需要搜索用戶名 = 600 個不同的用戶名。如何在不必粘貼所有用戶名并手動格式化每個名稱的情況下執行此類操作?
uj5u.com熱心網友回復:
根據@Abra 的評論。有幾個選項:
使用 帶有值串列的 SQLIN 運算子:
SELECT *
FROM someTable t
WHERE t.userName IN ('userName1', 'username2', ...)
此選項意味著將所有可能的值格式化為在引號內并用逗號分隔,這在處理許多值時可能會很麻煩。有一些技巧可以使這更容易(至少在 SQL Server 中)。例如,您可以按住 shift alt 并按箭頭鍵同時選擇和格式化多行。
將 IN 運算子與子查詢一起使用:
在處理大量可能的值時,這是一個更方便的選項:
SELECT *
FROM someTable t
WHERE t.userName IN
(
SELECT u.username
FROM users u
WHERE u.someColumn = 'someValue'
)
這只會在您可以使用 where 子句充分過濾用戶時才有效。
當可以在表之間建立鏈接時,aJOIN可能是一個不錯的選擇:
SELECT t.*
FROM someTable t
JOIN users u ON u.userId = t.userId
WHERE u.someColumn = 'someValue')
uj5u.com熱心網友回復:
我確實必須使用“IN”運算子。這個網站為我節省了格式化時間。 SQL 自動格式化程式
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/363542.html
標籤:sql
下一篇:使用不同的后重復記錄
