类似微博判断用户关系的sql语句

SQL INSERT INTO SELECT 语句、sql约束 通过 SQL,您可以从一个表复制信息到另一个表。INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。 阅读详情

类似新浪微博的关注与相互关注 

不知道别人是怎么设计的。

反正我是如下设计的

 ID   USER   FRIEND 

 1     A         B 

2      B         A

3     A         C

 ID为自增

 user为发起关注者 friend为被关注者

 现在需求如下。给出A、B两用户ID如何判断A与B的关系 很简单要,是A关注B,还是A与B相互关注 一条SQL尽可能的利用索引,不用OR,尽可能的快速 (不要求得到B是否关注A) 


select *
from xxxxx
where USER='A' and  FRIEND='B'
union all
select *
from xxxxx
where USER='B' and  FRIEND='A' 


create table tb_user_concern
(ID      int  auto_increment primary key,
 USER    varchar(32),
 FRIEND  varchar(32)
);

-- 查询和A相互关注的USER
select *
from tb_user_concern a
where user = 'A'
and exists 
    (select *
     from tb_user_concern b
     where a.user = b.friend
     and a.friend = b.user);
     
-- 查询A关注,但未关注A的USER
select *
from tb_user_concern a
where user = 'A'
and not exists 
    (select *
     from tb_user_concern b
     where a.user = b.friend
     and a.friend = b.user);

-- 查询关注A,但A未关注的USER 
select *
from tb_user_concern a
where friend = 'A'
and not exists 
    (select *
     from tb_user_concern b
     where a.user = b.friend
     and a.friend = b.user);

SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 阅读详情

相关推荐

SQL基本语句介绍

SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集。 SQL SELECT 语法 SELECT column_name,column_name FROM table_name; 与 SELECT * FROM table_name; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 “Websites” 表的数据: +----+-----------

weixin_46058146的博客 584

SQL案例学习-微博好友关系

微博中的用户关系需要使用有向图(Directed Graph)表示。 因为关注是单向关联,A关注了B,但是B不一定关注A。下图是一个简单的粉丝关系示意图: 如果A关注了B,就会存在一条从A到B的带箭头的边。上图中的“刘一”关注了“周八”,同时“刘一”和“李四”相互关注。 对于有向图而言,度又分为入度(In-degree)和出度(Out-degree)。入度表示有多少条边指向该顶点,出度表示有多少条边是以该顶点为起点的。“刘一”的入度为4(微博的粉丝数),出度为2(微博关注的人数)。 对于社交

每天学习一点点 1235

Hive微博数据统计分析

1、数据描述:用户的历史微博数据,截止到20131215, 压缩后221MB,解压后878MB,整个数据有1206个小文件,所有数据的格式均是json格式。 2、数据样例: [{"beCommentWeiboId":"","beForwardWeiboId":"","catchTime":"1387157643","commentCount":"682","content":"喂!2014。。。2...

weixin_43874447的博客 2081

SQL案例学习-微信好友关系

在微信中,两个用户可以相互加为好友。 用两个数据表来存储相关数据,t_user表和t_friend表。 这里需要注意的是两个用户成为好友后,在t_friend表中会有两条记录,以user_id为1和2的两个用户为例,可以看到有两条记录。 上图表示t_friend表中存储的用户好友关系,用直线连接的用户表示彼此间为好友关系。 1.查看好友列表 查询姓名为“刘一”用户的好友列表信息 实现SQL: SELECT f.user_id A..

每天学习一点点 3285

SQL DELETE 语句

DELETE 语句用于删除表中的记录。

xiaoaque的博客 731

SQL GROUP BY 语句和SQL HAVING 子句

GROUP BY 语句可结合一些聚合函数来使用。

xiaoaque的博客 735

sqlserver 用户&权限&依赖关系相关sql

一、 用户 1. 孤立用户 孤立用户即数据库中有而服务器层没有的用户(数据库中未链接到任何sqlserver登录名的用户) 检测当前数据库中的孤立用户 sp_change_users_login @Action='Report'; 重新链接数据库与服务器层用户 sp_change_users_login @Action='update_one',@UserNamePattern='...

Hehuyi_In的博客 2629

我的爬虫学习之旅 (七) 爬虫实战之微博评论爬取

前言: 由于在学习python的过程中对数据库的相关内容没有接触,所以本次结合爬虫与数据库来做这一方面的补充学习。 对于python数据库的学习使用PyMySql,PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 一、pymysql快速入门: 创建数据库链接对象 使用数据库连接对象创建游标对象 使用游标对...

m0_38102468的博客 1793

sql 查询相互关注的人

sql 查询相互关注的人 现在有一张表为fans(粉丝表) 里面有两个字段from_user,to_user ,代表from_user关注了to_user 简单的写法sql,我也是这种写法😝 select a.from_user, a.to_user, if(b.from_user is not null, 1, 0) as is_friend from fans a left join fans b on a.from_user = b.to_user and a.to_user = b.f

m0_50593634的博客 3299

别再只用固定线了!聊聊Android车机‘快速倒车’与‘正常倒车’的UI与数据流核心差异(附动态轨迹线实现原理)

本文深度解析Android车机中快速倒车与正常倒车的核心差异,探讨从内核级视频流水线到动态轨迹线的技术实现。快速倒车通过内核直接操作FrameBuffer实现2秒内响应,而正常倒车则支持多传感器数据融合与动态UI元素。文章还分享了动态轨迹线的算法实现与性能优化技巧,帮助开发者打造极致的倒车体验。

weixin_42550597的博客 255

【小程序】支付宝直付通解决方案

支付宝直付通是支付宝为小程序提供的一种支付解决方案,可以实现小程序中直接使用支付宝进行支付。以上是一个简单的支付宝直付通解决方案及相关代码示例。具体的使用还需要根据自己的业务需求进行定制化开发和调整。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 1281

用MySQL实现微博关注关系的方案分析

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33881050的博客 804

COMSOL仿真避坑指南:列管反应器模拟中多孔介质与化学反应设置的5个常见错误

本文详细解析了COMSOL仿真中列管反应器模拟的5个常见错误,包括多孔介质模型选择、化学反应接口配置、对流扩散方程处理、薄层热阻设置及网格独立性验证。特别针对多孔介质与化学反应设置的误区,提供了实用的判断标准和修正方法,帮助工程师避免计算偏差,提升仿真精度。

weixin_29597551的博客 325

【亲测免费】 推荐项目:weibo-spider - 爬取微博世界的强大工具

推荐项目:weibo-spider - 爬取微博世界的强大工具 1、项目介绍 weibo-spider 是一个用Java编写的高效新浪微博爬虫,其设计目标是帮助研究人员、数据分析师以及对社交媒体数据感兴趣的开发者轻松获取并分析大量的微博信息。这个开源项目不仅能够抓取微博正文,还包括了评论、转发、关注列表等丰富的内容,并且具备多进程并发执行的能力,确保了数据采集的速度与效率。 2、项目技术分析 该项...

gitblog_00025的博客 747

FUXA实战:5步搞定基于Web的SCADA系统搭建(含Node.js版本避坑指南)

本文提供了一份基于开源工具FUXA搭建Web版SCADA系统的实战指南。文章重点解析了从环境准备到生产部署的五个核心步骤,并特别强调了Node.js版本选择对西门子S7 PLC通信兼容性的关键影响,帮助开发者避开常见陷阱,快速构建工业监控界面。

weixin_29172963的博客 140

Altium Designer 21 DRC检查:从新手到高手,这10个常见错误你踩过几个?

本文详细解析Altium Designer 21 DRC检查中的10个高频错误,包括间距违规、线宽违规、未连接网络等常见问题,并提供精准修复方案和实战技巧。通过分层诊断、智能规则设置和三维排查等方法,帮助工程师从新手进阶为高手,提升PCB设计效率和质量。

weixin_26873711的博客 222

探索DWJWendy的Weibo_Spider:微博爬虫的创新实践

探索DWJWendy的Weibo_Spider:微博爬虫的创新实践 在大数据时代,信息的收集和分析成为了一项重要的工作。DWJWendy的Weibo_Spider是一个开源项目,它为Python开发者提供了一个强大的工具,用于自动化抓取、处理和分析微博上的数据。本文将深入探讨该项目的技术特性、应用场景及优势,以期引导更多用户参与其中。 项目简介 Weibo_Spider是一个基于Python的微博...

gitblog_00013的博客 533

在MCUXpresso上通过J-link烧写KW45

背景: KW45B是nxp 的ble npi产品,其使用的IDE为MCUXpressso或者IAR,MCUXpressso有一些bug,但是由于MCUXpressso阅读查找代码相对IAR容易,所以我经常使用的MCUXpressso进行开发。当然IAR也有其优势,比如编译、烧写速度相对MCUXpressso更快,是比较通用的一个平台,而MCUXpressso是NXP独有的。 Kw45有两种烧写方式,一是使用MCUlink,二是使用Jlink。NXP ble 产品线提供的IDE资料里有最新的15.0版本的

weixin_41889258的博客 2859

SQL UPDATE 语句

SQL UPDATE 语句 UPDATE 语句用于更新表中的记录。 SQL UPDATE 语句 UPDATE 语句用于更新表中已存在的记录。 SQL UPDATE 语法 UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数...

weixin_43242688的博客 2万+

基于STM32、HAL库的IP5356M快充协议芯片简介及驱动程序设计

@param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。

corlin6688的博客 1222

RK3568平台(camera篇) MPP编码

同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的。mpi_enc_test 的命令参数中,图像宽度(w)图像高度(h),码流类型(t)为强制要求参数,其他参。视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)数如输入文件(i),输出文件(o),编码帧数(n)等为可选参数。设置一些MPP的模式。

weixin_49303682的博客 7379

python 微博评论分析_python抓取新浪微博评论并分析

1,实现效果2,数据库3。主要步骤1,输入账号password,模拟新浪微博登陆2,抓取评论页的内容3。用正則表達式过滤出username,评论时间和评论内容4,将得到的内容存入数据库5,用SQL语句实现其它功能:比如统计评论次数等4,具体步骤# -*- coding: utf-8 -*-import requestsimport base64import reimport urllibimpor...

weixin_39978101的博客 614

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java 阶段三 Day11 SQL语句重用和多表联查

在实际应用中,使用 ResultMap 主要针对复杂的查询场景,例如:多表关联查询、一对多、多对多查询等;根据微博的id查询该条微博的信息,只显示:微博编号id、内容content、用户编号user_id。SQL语句重用是指在数据库应用程序中,多次执行相同或类似的SQL语句时,通过重用这些语句来提高。查询指定的用户发布的所有的 微博信息 ,要求将 微博信息 放到一个集合中。微博id、微博内容、微博发布时间、用户昵称。评论id、评论内容、评论发布时间、用户昵称。要求显示:用户的id、用户昵称、

weixin_44693429的博客 186

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SQL SELECT INTO语句

SQL SELECT INTO语句 通过SQL,您可以从一个表复制信息到另一个表。 SELECT INTO语句从一个表复制数据,然后把数据插入到另一个新表中。 SQL SELECT INTO语句 注意: MYSQL数据库不支持SELECT…INTO语句,但支持INSERT INTO…SELECT。 可以使用以下语句来拷贝表结构及数据: CREATE TABLE 新表 AS SELECT * FROM 旧表 SQL SELECT INTO语法 1.复制所有的列插入到新表中: SELECT * INTO ne

Lu鹿夫人的博客 4353

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SQL INSERT INTO 语句

SQL INSERT INTO 语句

samLi0620的博客 2268
上一篇: mysql中IN和EXITS效率
下一篇: Tomcat6 一些调优设置
Jaaaaaaaava
博客等级 码龄14年 11粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值