在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL5.7数据库中表连接、子查询、外键的示例分析

128次阅读
没有评论

共计 2748 个字符,预计需要花费 7 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 MySQL5.7 数据库中表连接、子查询、外键的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

文章目录

表连接

自关联

外键

内连接

左连接

右连接

子查询

外键介绍

创建表时设置外键约束

表连接

当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回 mysql

这时需要表进行连接

内连接

内连接仅选出两张表中互相匹配的记录

select * from  表 1  inner join  表 2  on  表 1. 列  =  表 2. 列 --  显示学生的所有信息,但只显示班级名称 select s.*, c.name from students s inner join classes c on s.id=c.id;--  将班级名称显示在第一列 select c.name, s.* from students s inner join classes c on s.id=c.id;--  查询   有能够对应班级的学生以及班级信息,按照班级进行排序 select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc;--  当同一个班级时,按照学生的 id 进行从小到大排序 select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc, s.id asc;

MySQL5.7 数据库中表连接、子查询、外键的示例分析
MySQL5.7 数据库中表连接、子查询、外键的示例分析
在这里插入图片描述

左连接

查询的结果为两个表匹配到的数据,左表持有的数据,对于右表中不存的数据使用 null 填充

select * from  表 1  left join  表 2  on  表 1. 列 = 表 2. 列 -- students 表左连接 classes 表   并查看班级为 null 的数据 select * from students s left join classes c on s.cls_id=c.id having s.cls_id is null;--  左连接   并且   查询  s.cls_id=1  并且  s.name= small-j   的数据 select * from students s left join classes c on s.cls_id=c.id having s.cls_id=1 and s.name= small-j

MySQL5.7 数据库中表连接、子查询、外键的示例分析

右连接

查询结果为两个表匹配到的数据,右表持有的数据,对于左表中不存在的数据使用 null 填充。

select * from  表 1  right join  表 2  on  表 1. 列  =  表 2. 列;

子查询

某些情况下,当进行查询的时候,需要的条件是另外一个 select 语句的结果,这个时候,就要使用到子查询

select * from  表  where  表(子查询语句)--  查询出 students 中身高最高的男生。显示名字和身高 select s.name, s.high from students s where high=(select max(high) from students) and gender= 男 --  查询出高于平均身高的学生信息 select * from students where high (select avg(high) from students);--  查询学生班级号 cls_id 能够对应的学生信息 select * from students where cls_id in (select id from students);--  查询最大年龄的女生的 idselect * from students where id=(select max(id) from students where gender= 女 ) and gender= 女

在这里插入图片描述

自关联

简单理解为自己与自己进行连接查询

--  查询广东省下的所有广东市 select * from cities c inner join provinces p on c.provinceid=p.provinceid having p.province= 广东省 --  查询广东省下的所有广东市 --  自关联 select * from areas a inner join areas b on a.id=b.pid having a.name= 广东

MySQL5.7 数据库中表连接、子查询、外键的示例分析
MySQL5.7 数据库中表连接、子查询、外键的示例分析

外键外键介绍

MySQL 的外键 (foreing key) 是表的一个特殊字段。对于两个具有关联关系的表而言,相关联字段的主键所在表就是主表(父表),外键所在的表是从表(子表)。

注意:主键不能包含空值,但允许在外键中出现空值,也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。

创建表时设置外键约束

当创建外键的时候,必须先删除从表才能删除主表。

主表需存在时创建从表。

从表的外键关联必须是主表的主键,并且主键与外键的类型必须保持一致。

[constraint  外键名] foreign key (字段名  [, 字段名 2, ...]) references  主表名   主键列 1  [,  主键列 2, ...]
--  创建班级表 create table classes( id int(4) not null primary key,
 name varchar(36));--  创建学生表 create table student( sid int(4) not null primary key,
 sname varchar(30),
 cid int(4) not null);--  创建直接含有外键关系的学生表 create table student(  sid int(4) not null primary key,
  sname varchar(30),
  cid int(4) not null,
  constraint pk_id foreign key (cid) references classes(id));--  通过 alter 来添加外键关系 alter table student add constraint pk_id foreign key (cid) references classes(id);--  删除外键约束 alter table student drop foreign key pk_id;

MySQL5.7 数据库中表连接、子查询、外键的示例分析

MySQL5.7 数据库中表连接、子查询、外键的示例分析

看完了这篇文章,相信你对“MySQL5.7 数据库中表连接、子查询、外键的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2748字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美性狂猛bbbbb | 日本二本三本二区 | 日韩超碰人人爽人人做人人添 | 人人妻人人澡人人爽人人精品97 | 99亚洲男女激情在线观看 | 久久综合久久网 | 一级人做人a爰免费视频 | 欧美在线黄 | 男人的天堂视频在线观看 | 精品视频在线免费观看 | 国产片欧美片亚洲片久久综合 | 成人福利免费在线观看 | 国产精品亚洲色图 | 亚洲成av人的天堂在线观看 | 成年美女毛片黄网站色奶头大全 | 久久精品女人天堂av免费观看 | 一区二区乱子伦在线播放 | 伊人久久大香线蕉综合色狠狠 | 亚洲人成人伊人成综合网无码 | 男人的天堂久久 | 天天干天天拍 | 青青免费视频视频在线 | 香港三日本8a三级少妇三级99 | 日本在线一卡二卡毛片 | 欧美亚洲另类久久综合 | 亚洲图欧美日韩色综合图 | 日本日皮视频 | 91人人爱| 国产亚洲精品久久久久5区 国产亚洲精品久久久久的角色 | a级黄色免费看 | 高清国产露脸捆绑01经典 | 亚洲成亚洲乱码一二三四区软件 | 理论片87福利理论电影 | 亚洲午夜精品一区二区 | 秋霞韩国最新理论片 | 人妻人人做人碰人人添 | 婷婷播放器 | 欧美巨鞭大战丰满少妇 | 女人18毛片a级毛片免费视频 | 成人福利网 | 亚洲免费在线观看视频 |