美文网首页HTML
DQL -- 多表联合查询

DQL -- 多表联合查询

作者: GHope | 来源:发表于2018-09-08 00:42 被阅读131次

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

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

 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='四库全书');
查询结果

相关文章

  • DQL -- 多表联合查询

    现实生活中,我们需要查询的数据并不独立存在在某一张表中,此时就需要进行多表联合,进行查询操作了。多表联合主分四种:...

  • 5. DQL语句和查询相关语句以及多表查询

    DQL语句和查询相关语句以及多表查询 一. DQL语句 数据查询语句DQL(Data Query Language...

  • MySQL约束课堂笔记

    今日内容 一、DQL:查询语句2、排序查询3、聚合函数4、分组查询5、分页查询二、约束三、多表之间的关系 DQL:...

  • 4/29day44_MySql查询&约束&多表

    回顾 MySQL查询&约束&多表 今日目标 一 DQL高级查询 准备数据 1.1 排序 1.2 聚合函数 作用:对...

  • MySQL03

    DQL查询语句 分页查询 分组函数 分组查询 子查询 多表连接查询 1、分页查询 当数据库中数据过多时,不能一次全...

  • MySQL-6:查询语句

    1、DQL:查询语句: 1.排序查询 2.聚合函数 3.分组查询 4.分页查询 2、约束3、多表之间的关系4、范式...

  • mysql---多表查询

    判断数据表中的分数是否及格: 多表联合查询---左连接 统计个数 嵌套查询: 多表查询:

  • 多表联合查询

    MySQL中基本的多表连接查询教程Mysql脚本之家 var tougao="goldensun";var lmn...

  • SQL第4/n篇(更新中)DQL,DML,DDL语言

    进阶9:联合查询 进阶9是DQL的最后一节,到此查询语句完结撒花!对了,先看完再撒花~ union 联合查询 :将...

  • sql场景记忆

    1.常见的ddl,dql,dml联合场景 ddl:对于表结构的管理sql语句dql:常见的sql查询语句dml:常...

网友评论

  • Java成长之路:全外链接就可以了
    GHope:这是整理MySQL的时候写的,不存在全外连接的。

本文标题:DQL -- 多表联合查询

本文链接:https://www.haomeiwen.com/subject/hncnwftx.html