当前位置: 首页 > 面试题库 >

``您可能认识的人''sql查询

严兴言
2023-03-14
问题内容

我正在研究“您可能认识的人”功能。我有两个表:

用户
id
email
name
etc

朋友
user_id
friend_id

对于每一次友谊,我都会做两个记录。假设用户7和9成为朋友…我要在友谊表中记录一条user_id = 7,friend_id = 9,另一条user_id
= 9,friend_id = 7的记录。

如何根据朋友中的朋友进行sql查询,以建议我可能认识的人?我也希望根据大多数共同的朋友来订购它。


问题答案:
select u.id, u.email, u.name, u.etc
    -- Get all my friends
    from Friendships as f1
    -- Get their friends
    inner join Friendships as f2
        on f1.friend_id = f2.user_id
    -- Get their friends User information
    inner join Users as u
        on f2.friend_id = u.id
    where f1.user_id = @userId

将会是我的起点。



 类似资料:
  • 问题内容: 当我填写标题字段时,看到上述 可怕的警告 时,我并不感到惊讶。 我阅读了几乎所有谈论的话题,或者不确定我是否找到了我想做的正确解决方案。 对不起,我不擅长英语或SQL。 在不擅长两种语言的情况下,如何找到正确的答案? 我决定要问。我不会为s或任何s失望。 当我想要答案时,我将尽可能真诚地写下来,以帮助您解决其他任何类似的问题。 我有一张与朋友关系的桌子。 两者也是表中的外键。 我问并从

  • 输入文件包含邻接列表,并具有以下格式的多行: 将类更改为静态后,这就是新的错误。 我觉得这是最麻烦的部分。 某些错误的屏幕快照

  • 问题内容: 假设这是一个销售相机的网站。这是我的实体(表): 事情是在相机和功能之间,我之间存在多对多关系,所以我有一张额外的桌子: 因此,查询很简单: 如何获得所有具有1,2和3功能的相机? 这就像构造一个位图索引。 您可以用来测试解决方案是否正确的数据 以下是查询和预期结果: 显示所有具有功能1,2和3: C1* 的相机 * 显示所有具有功能1,2和4的相机: C2 显示所有具有功能1和2的相

  • 问题内容: 目前,我的代码(PHP)中包含太多SQL查询。例如… 我正在研究使用存储过程来减少这种情况并使事情变得更健壮,但是我有一些担忧。 我在网站上使用了数百种不同的查询,其中许多非常相似。将所有这些查询从上下文(使用结果的代码)中删除并放在数据库的存储过程中时,我应该如何管理这些查询? 问题答案: 最佳的操作方法取决于您如何进行数据访问。您可以采用三种方法: 使用存储过程 将查询保留在代码中

  • 问题内容: 可以像这样使它们动态化,而不是像这样对SQL查询进行硬编码 我问的原因是何时需要更改表/列的名称,我可以只在一个地方进行更新,而不必要求开发人员逐行查找所有要更新的引用。这是非常耗时的。而且我不喜欢在代码中公开数据库内容的想法。 我主要关心的是加载时间。与动态页面一样,数据库必须获取页面内容,如果查询是动态的,则方法相同,首先系统必须先查找引用然后执行查询,这会影响加载时间吗? 我正在

  • 问题内容: 根据您的SQL Server数据库的许可和配置,您可能会有非常不同的大小限制。例如: SQL Server 2012 Express的限制为10GB SQL Server 2008 R2 Express的限制为10GB SQL Server 2008 Express的限制为4GB 是否可以 查询数据库服务器以找出最大大小 ? 我可以查询以找出当前大小: 我现在想要的是一种基于 许可 而