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

 更新时间:2022年03月31日 11:17:29   作者:修罗MIUI  
这篇文章主要介绍了Mysql多层子查询示例代码,以收藏夹案例给大家详细介绍,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

用户表

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循环插入数据的实现

    这篇文章主要介绍了Mysql循环插入数据的实现过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL系列之开篇 MySQL关系型数据库基础概念

    MySQL系列之开篇 MySQL关系型数据库基础概念

    数据库是指长期储存在计算机中的有组织的、可共享的数据集合,数据具有三大基本特点,永久存储,有组织,可共享,是数据库系统的核心,本文给大家分享MySQL关系型数据库基础概念,需要的朋友参考下吧
    2021-07-07
  • MySQL分组查询获取每组最新的一条数据详解(group by)

    MySQL分组查询获取每组最新的一条数据详解(group by)

    在写报表功能时遇到一个需要根据用户id分组查询最新一条钱包明细数据的需求,下面这篇文章主要给大家介绍了关于MySQL分组查询获取每组最新的一条数据的相关资料,需要的朋友可以参考下
    2024-08-08
  • MySQL索引的基本语法

    MySQL索引的基本语法

    这篇文章主要介绍了MySQL索引的基本语法,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • 一键清空(重置)本地MySQL8.0密码脚本

    一键清空(重置)本地MySQL8.0密码脚本

    这篇文章主要介绍了一键清空本地MySQL8.0密码脚本,再也不用担心MySQL密码忘记了,很容易的解决了忘记mysql密码的烦恼,操作方法也非常简单,需要的朋友可以参考下
    2023-01-01
  • Mysql使用全文索引(FullText index)的实例代码

    Mysql使用全文索引(FullText index)的实例代码

    使用索引时数据库性能优化的必备技能之一,下面这篇文章主要给大家介绍了关于Mysql使用全文索引(FullText index)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

    MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

    这篇文章主要介绍了MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 深入理解 MySQL 索引底层原理

    深入理解 MySQL 索引底层原理

    这篇文章主要介绍了深入理解 MySQL 索引底层原理的相关资料,需要的朋友可以参考下
    2022-12-12
  • MySQL启动失败之MySQL服务无法启动的原因及解决

    MySQL启动失败之MySQL服务无法启动的原因及解决

    这篇文章主要介绍了MySQL启动失败之MySQL服务无法启动的原因及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 使用xshell实现代理功能并navicat for MySQL 进行测试

    使用xshell实现代理功能并navicat for MySQL 进行测试

    本文介绍使用xshell实现代理功能并使用navicat for MySQL进行测试,文章主要利用SSH连接工具xshell就可以实现简单的代理功能,下面实现过程,需要的小伙伴可以参考一下
    2022-02-02

最新评论