Select 1
from Friend
where Friend.UserID = 1
and FriendID = (select User.UserID from User where UserName = 'friend_user');
我想要做的是檢查用戶是否與另一個用戶「朋友」。因此,當用戶導航到「foo.com/user/username」時,用戶名將被傳遞,這是我執行檢查時的情況。我寧願不使用兩個選擇,但似乎這是做到這一點的唯一方法。任何建議,以執行這樣的任務的最佳方式將不勝感激。是否可以將這2個select語句優化爲一個?
你是**不**使用兩個選擇。你有一個選擇與一個共同相關的子查詢。使用現代數據庫管理系統(和一個體面的查詢優化器)的機會非常高,您的聲明和接受的解決方案的效率沒有差異。 –