DQL -- 多表联合查询

现实生活中,我们需要查询的数据并不独立存在在某一张表中,此时就需要进行多表联合,进行查询操作了。多表联合主分四种:隐式内连接,现实内连接,左外连接和右外连接。左外连接和右外连接同时使用称为全外连接。

数据表准备(用户,商品):

 create table user(
    -> id int auto_increment,
    -> name varchar(30) not null,
    -> gid varchar(10) default 0,
    -> primary key(id)
    -> );

 create table goods(
    -> gid int auto_increment,
    -> name varchar(30) not null,
    -> price int not null,
    -> primary key(gid)
    -> );
创建表
insert into user(neme,gid) values('GHope',3),
    -> ('老子',1),
    -> ('孔子',0),
    -> ('鬼谷子',1),
    -> ('孟子',1),
    -> ('孙子',2),
    -> ('庄子',2),
    -> ('晏子',0);

insert into goods(name,price) values('四库全书',200),
    -> ('逍遥游',99),
    -> ('时间简史',897),
    -> ('世界通史',765),
    -> ('进化论',233);
插入数据
内外连接

隐式内连接

基本语法

查询数据库中谁买了哪本书
select user.neme,goods.name from user,goods where user.gid=goods.gid;

查询结果

显示内连接

基本语法

查询数据库中谁买了哪本书
select user.neme as uname,goods.name as gname from user join goods on user.gid=goods.gid;

解释说明
查询结果

左外连接

基本语法

查询用户购买书籍情况
select user.neme as uname,goods.name as gname from user left join goods on user.gid=goods.gid;

查询结果

右外连接

基本语法

查看书籍被购买情况
select user.neme as uname,goods.name as gname from user right join goods on user.gid=goods.gid;

查询结果

记录联合

基本语法

查看数据库内所有关于用户与书籍相关信息
select user.neme as uname,goods.name as gname from user left join goods on user.gid=goods.gid union select user.neme as uname,goods.name as gname from user right join goods on user.gid=goods.gid;

查询结果

子(嵌套)查询

image.png

查询购买四库全书的用户
select neme from user where gid in (select gid from goods where name='四库全书');
查询结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、mysql(非常重要) day12-mysql2 1、DDL(数据定义) 连接数据库格式:Mysql -h -...
    文化银儿阅读 1,859评论 0 9
  • 数据准备 回顾 记录操作:写操作:INSERT,UPDATE,DELETE读取操作:SELECT 这章主要学习:子...
    齐天大圣李圣杰阅读 1,082评论 0 4
  • 受伤恢复得那么快是因为每次都有人来治愈自己,渐渐地贪恋了这种不靠自己就想忘掉上一段感情的方法。可是,从未想到,会遇...
    十七姑娘诶阅读 517评论 1 1
  • 一 我一直认为喜欢不需要理由 直到遇见你 才发现理由就是命中注定 二 昨天 今天 明天 时间轮回 沉船在沙滩上漫步...
    芒种夏至阅读 252评论 0 2
  • 院落青青草木,稀疏难过荣枯。蛩鸣阵阵诉残孤,愁上心头谁度。 旧日秋千陌路,粉妆颀秀难书。雁鸣几度唤红酥,换取回声无数。
    闲云听箫雨阅读 319评论 0 3