Mysql多层子查询示例代码(收藏夹案例)


Posted in MySQL onMarch 31, 2022

用户表

create table if not exists tb_book (
    book_id char(10) not null comment 'book主键',
    book_name char(30) not null comment '书名',
    book_type char(10) not null comment '类别',
    book_brief varchar(500) not null comment '简介',
    book_online_time timestamp not null comment '上线时间',
    book_author char(20) not null comment '作者',
    book_grade int(2)  not null comment '评分',
    book_word_number int(5)  not null comment '售量',
    book_small_picture char(100) not null comment '书小图',
    book_big_picture char(100)  comment '书大图',
    primary key (book_id)
)
replace into tb_user(user_id,user_name,email,phone_number,balance,briefs,birthday,grade,password,avatar,signature) values
('324123125','llx','1753552134@qq.com','17665621006',0,'风一样的少年',CURDATE(),25,'123456','default.png','我就是我,不一样的烟火'),
('324223125','user2345','2341235@qq.com','13722211122',0,'风一样的少年',CURDATE(),25,'123456','default.png','不顾别人感受是自私,太顾别人感受是自虐。'),
('324423125','ling','234125@qq.com','13351234112',0,'风一样的少年',CURDATE(),25,'123456','default.png','年龄永远不是衡量一个人的刻度,只有责任的叠加才会让人逐渐成长。'),
('324623125','xz','2341235@qq.com','15534562345',0,'风一样的少年',CURDATE(),25,'123456','default.png','昨天再好,也走不回去;明天再难,也要抬脚继续。');
select * from tb_user

图书表

create table if not exists tb_book (
    book_id char(10) not null comment 'book主键',
    book_name char(30) not null comment '书名',
    book_type char(10) not null comment '类别',
    book_brief varchar(500) not null comment '简介',
    book_online_time timestamp not null comment '上线时间',
    book_author char(20) not null comment '作者',
    book_grade int(2)  not null comment '评分',
    book_word_number int(5)  not null comment '售量',
    book_small_picture char(100) not null comment '书小图',
    book_big_picture char(100)  comment '书大图',
    primary key (book_id)
)
insert into tb_book(book_id, book_name, book_type, book_brief, book_online_time, book_author, book_grade,
                    book_word_number, book_small_picture, book_big_picture)
values ('0000000001', '天降鬼才', '玄幻',
        '我不会奇门遁甲,也不懂风水八卦,但江湖人都称我绝世鬼才。为什么?因为我脑子有坑!装满来至新世纪的现代学识!讲道理,其实我是个很纯洁的斯文人,不管你们信不信,反正我是信了。', now(), '武异', 10, 1,
        '0000000001.png', '0000000001.png'),
       ('0000000002', '暴君的穿越小邪后', '古代言情',
        '一名现代A帮千金,机缘巧合下穿越到大齐——一个历史上完全不存在的朝代,在这个波诡云谲的时代,看她如何见招拆招,并和那个冷面帝王谈一场千古绝恋。带着皇帝在现代吃喝玩乐,在古代又玩起了帝后和鸣,好不快活!',
        now(), '非墨千泷', 10, 1412342, '0000000002.png', '0000000002.png'),
       ('0000000003', '汗灵昭烈', '武侠仙侠',
        '打虎上山,行侠入世,一代英雄聚念而生。单臂挚天,双剑仗义,千年华夏因义流芳。武松是谁?他为何而来?他又将为谁而战?一代汉灵入世,沧海下暗流涌动,乾坤里谁是英雄!',
        now(), '千秋一梦', 10, 151241, '0000000003.png', '0000000003.png'),
       ('0000000004', '大明烟火', '历史军事', '朱元璋:“一群贪赃枉法之辈,朕要杀光他们。”韩度:“陛下息怒,与其杀了,不如废物利用,压榨干净他们的剩余价值才好。”朱元璋:......', now(),
        '阳光下写字', 10, 1123424, '0000000004.png', '0000000004.png'),
       ('0000000005', '重生八零甜妻有点狂', '都市言情',
        '眼睛一闭一睁,乐薇重回十六岁。白手起家打拼出的跨国集团没了,上亿身家也没了,只有家徒四壁和兜里的几毛钱,还有她的小学学历。重活一回,除了赚钱,她还要走进知识殿堂,成为学霸,走向巅峰,出任CEO,迎娶白富美!一身戎装又帅又飒的小柳同志疑惑:谁是白富美?又白又富又美的乐大CEO理直气壮:你。',
        now(), '林间雪', 10, 112341, '0000000005.png', '0000000005.png'),
       ('0000000006', '小道姑成仙记', '玄幻',
        '斩恶鬼,斗尸煞,收妖邪!杀魔人,寻仙草,炼仙丹!初出茅庐的郑小雅,为了救出师尊,重振师门,踏上了一条危险曲折,惊心动魄的道路一个又一一个不可思议的经历,在她的生命中演绎,。最后她发现,自己的命运原来一直都不掌握在自己的手中,且看她如何打破命运的枷锁,成就仙道之躯。',
        now(), '羊小乐', 10, 112342, '0000000006.png', '0000000006.png'),
       ('0000000007', '满级游戏宅在兽世惹桃花', '幻想时空',
        '游戏玩家顾晓黎因为系统bug携带满级技能穿越到游戏中的兽人副本,踏上漫漫归家之路,却被各色美男拐骗,只得留下,发展城邦,与兽夫共同对抗恶势力。甜宠玛丽苏。',
        now(), '无摆', 10, 15234, '0000000007.png', '0000000007.png')

收藏夹表

create table if not exists tb_collection(
    collection_id char(11) not null comment '收藏id',
    book_id char(10) not null comment 'book主键',
    user_id CHAR(16) NOT NULL COMMENT '用户id',
    collection_time timestamp not null comment '收藏时间',
    primary key (collection_id),
    constraint `collection_book` foreign key (`book_id`) references `tb_book`(`book_id`),
    constraint `collection_user` foreign key (`user_id`) references `tb_user`(`user_id`)
)
set foreign_key_checks = 0; # 暂时取消外键约束
insert into tb_collection(collection_id, book_id, user_id, collection_time)
values ('00000000001', '0000000001', '324123125', now()),
       ('00000000002', '0000000002', '324123125', now()),
       ('00000000003', '0000000003', '324123125', now()),
       ('00000000004', '0000000004', '324123125', now());
set foreign_key_checks = 1; # 恢复外键约束

查询 思路:从根据用户id查询收藏夹表里的book_id,再用拿到的book_id查询图书

select *
from tb_book
where tb_book.book_id
          in (select tb_collection.book_id
              from tb_collection
              where user_id = '324123125')

到此这篇关于Mysql多层子查询(收藏夹案例)的文章就介绍到这了,更多相关mysql多层子查询内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL命令行操作时的编码问题详解
Apr 14 MySQL
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
详解MySQL主从复制及读写分离
May 07 MySQL
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
Jun 26 MySQL
python中的mysql数据库LIKE操作符详解
Jul 01 MySQL
MySQL令人大跌眼镜的隐式转换
Aug 23 MySQL
Mysql案例刨析事务隔离级别
Sep 25 MySQL
MySQL中datetime时间字段的四舍五入操作
Oct 05 MySQL
mysql事务对效率的影响分析总结
Oct 24 MySQL
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
Feb 12 MySQL
MySQL 计算连续登录天数
May 11 MySQL
面试官问我Mysql的存储引擎了解多少
Aug 05 MySQL
MySQL Server层四个日志的实现
分享几个简单MySQL优化小妙招
MySQL Server 层四个日志
MySQL RC事务隔离的实现
mysql中DCL常用的用户和权限控制
Mar 31 #MySQL
Mysql分析设计表主键为何不用uuid
你真的会用Mysql的explain吗
You might like
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
微信小程序如何访问公众号文章
2019/07/08 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python中的各种装饰器详解
2015/04/11 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python3 max()函数基础用法
2019/02/19 Python
eclipse创建python项目步骤详解
2019/05/10 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
thinkphp5 路由分发原理
2021/03/18 PHP
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
警察群众路线整改措施
2014/09/26 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
民事辩护词范文
2015/05/21 职场文书
入党自传范文2015
2015/06/26 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
MySQL存储过程及语法详解
2022/08/05 MySQL
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript