【问题标题】:Need a (simple) SQLite Statement需要一个(简单的)SQLite 语句
【发布时间】:2013-02-26 19:12:41
【问题描述】:

我有两张桌子

FRIENDS 
id 
friendID 
name 
prename

FRIENDLIST 
id 
userID 
friendID

我传递了一个用户 ID(称为 myPassedUserID)

我需要一个 SQLite 选择查询。它应该在 FRIENDLIST 中查找 userID=myPassedUserID 的所有朋友 ID,然后从 FRIENDS 中检索与我刚刚查找的朋友 ID 匹配的所有列。

我试过这个:

SELECT *

FROM FRIENDS
WHERE friendID IN 
(
    SELECT friendID  
    FROM FRIENDLIST 
    WHERE userID=myPassedUserID
)

但我了解到,出于性能原因,它并不好。

【问题讨论】:

  • 你试过什么? SO 不是我们只为您提供免费代码的地方;这是我们帮助您解决问题的地方。
  • 如您所写,您的问题看起来像是您希望我们为您考虑。向我们展示您为尝试解决此问题而编写的代码以及您认为这是错误的原因。您还应该阅读What have you tried - 它非常有用。
  • 我怀疑性能评论是指相关的子查询,这可能会给出可怕的查询计划。此查询不相关。

标签: sql sqlite select


【解决方案1】:
SELECT FRIENDS.* from FRIENDS
INNER JOIN FRIENDLIST
ON FRIENDS.FriendID = FRIENDLIST.FriendID
WHERE FRIENDLIST.userID = ?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多