#建一个人员表,一个省份表
create table people(
id int primary key auto_increment,
name varchar(5),
age smallint(1),
sex char(3),
province_id int(5)
);create table province(
id int primary key auto_increment,
pro_name char(5)
);insert into province values(null,"四川省"),(null,"云南省"),(null,"贵州省"),(null,"湖南省");insert into people values
(null,"王老五",18,'男',1),
(null,"张翠花",19,'女',2),
(null,"史珍香",22,'女',1),
(null,"关阴",20,'女',3),
(null,"朱逸群",20,'男',2),
(null,"杨伟",23,'男',3),
(null,"蔡坤",25,'男',4),
(null,"吴凡",27,'男',null)#1.查询用户所有信息以及所在省份名称
select * from people,province
#出现了笛卡尔积现象,只有people.province_id=province.id能够匹配
#数据才是我们想要的。
#解决:加一个people.province=province.id 条件#一、内连接:用左表去匹配右表,查询满足条件的数据#(1)隐式内连接 select 查询表 from 左表,右表 where 关联条件
select peo.*,pro.pro_name from people peo ,province pro where peo.province_id=pro.id;#(2)显示内连接 select 查询列表 from 左表[inner] join 右表
on 关联条件 [where 其他条件]
select p1.*,p2.pro_name from people p1
inner join province p2
on p1.province_id=p2.id;#二、外连接#(1)左连接:保证左表的记录全部显示,哪怕不满足匹配条件
#格式: select 查询列表 from 左表 left[outer] join 右表 on 关联条件 [where 其他条件]
select p1.*,p2.pro_name from people p1
left join province p2
on p1.province_id=p2.id;#(2)右连接:保证右表的记录全部显示,左表记录显示为空
#格式: select 查询列表 from 左表 right[outer] join 右表 on 关联条件 [where 其他条件]
select p1.*,p2.pro_name from people p1
right join province p2
on p1.province_id=p2.id;#一对多 一个永和对应多个角色(用户,管理员)用户表 用户-权限中间表(id,user_id,role_id) 权限表#三表查询 user2 role user_role#查询张三对应的权限名称
#显示内连接方法
select u.name,r.role_name from user2 u
#连接中间表
inner join user_role ur
on u.id=ur.user_id
#连接权限表
inner join role r
on ur.role_id = r.id
where u.name="李四";#隐式内连接方法
select u.name,r.role_name from user2 u,user_role ur,role r
where u.id=ur.user_id
and ur.role_id=r.id
and u.name="李四";

MySQL——多表查询(笔记6)相关推荐

  1. Mysql多表查询笔记

    2019独角兽企业重金招聘Python工程师标准>>> MySQL连接的种类,JOIN左边(前边)的表是左边,右边(后边)的是右表 逗号:做笛卡尔集连接 INNER JOIN: 如果 ...

  2. java mysql 多表查询_解析Mysql多表查询的实现

    查询是数据库的核心,下面就为您介绍Mysql多表查询时如何实现的,如果您在Mysql多表查询方面遇到过问题,不妨一看. Mysql多表查询: CREATE TABLE IF NOT EXISTS co ...

  3. mysql多表查询详解_MySQL多表查询详解上

    时光在不经意间,总是过得出奇的快.小暑已过,进入中暑,太阳更加热烈的绽放着ta的光芒,...在外面被太阳照顾的人们啊,你们都是勤劳与可爱的人啊.在房子里已各种姿势看我这篇这章的你,既然点了进来,那就由 ...

  4. mysql教程多表查询_解析Mysql多表查询的实现

    查询是数据库的核心,下面就为您介绍Mysql多表查询时如何实现的,如果您在Mysql多表查询方面遇到过问题,不妨一看. Mysql多表查询: CREATE TABLE IF NOT EXISTS co ...

  5. 零基础带你学习MySQL—多表查询笛卡尔集(二十)

    零基础带你学习MySQL-多表查询笛卡尔集(二十) 一.多表查询 多表查询:就是指基于两个和两个以上的表的查询,在实际应用中,单个表并不能满足你的需求,我们经常需要在很多个表之间查询数据 二.笛卡尔集 ...

  6. mysql 大表查询慢_mysql大表查询慢怎么优化?

    mysql大表查询慢的优化方法:1.合理建立索引,通常查询利用到索引比不用索引更快:2.对关键字段建立水平分区,比如时间字段,若查询条件往往通过时间范围来进行查询,能提升不少性能:3.建立粗粒度数据表 ...

  7. mysql锁表查询和解锁操作

    mysql锁表查询和解锁操作 1.在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况SELECT * FRO ...

  8. Mysql 多表查询详解

    Mysql 多表查询详解 一.前言  二.示例 三.注意事项 一.前言  上篇讲到Mysql中关键字执行的顺序,只涉及了一张表:实际应用大部分情况下,查询语句都会涉及到多张表格 : 1.1 多表连接有 ...

  9. Mysql多表查询效率的研究(一)

    Mysql多表查询效率的研究(一) 本文探究了mysql InnoDB引擎在多表查询的应用场景下,使用子表.内连接和左联接运行速度的差别,并且比较了索引使用与否对查询效率的影响. 第一部分简略地概括了 ...

  10. cmd操作MySQL 多表查询(日记 day 4)

    cmd操作MySQL 多表查询 今天记录一下学习多表查询的一些操作,也算是练习记录了. 通过练习排错,来避免知识的盲区和解决心中的一些疑惑 其中的数据.题目是参照b站大刘老师的,我觉得讲的很精炼 有兴 ...

最新文章

  1. SAPscripts 到导数程序中取数据的实例
  2. 【ABP杂烩】面向切面编程(AOP)知识总结
  3. was中java目录_was8.5选择安装选项,安装应用程序的目录填写自定义目录,应用部署成功后访问不了页面?...
  4. 你知道C# 反射技术的应用吗?
  5. 3 Django视图层
  6. Asp.net 5种页面转向方法 转载
  7. Java视频教程免费分享(网盘直接取)
  8. java网店系统 开源_网店系统javashop发布其开源框架,遵循GPL协议
  9. 西门子200PLC步进控制(入门)
  10. 06_openwRT Voice之TAPI与VoIP的应用编程
  11. oracle 范鑫_【企业信息化研究所】TF—SWUFE Oracle Club招新宣讲,只为和你相遇
  12. Groq:从头设计一个张量流式处理器架构
  13. android 投屏mac,MAC投屏ipad、手机
  14. 关于abd.exe 报错的解决方法总结
  15. 项目进度管理服务器,工程项目进度管理软件Asta Powerproject——成功项目背后的力量...
  16. y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)图像和性质
  17. 2018中国智造金长城奖:创新能力与行业竞争力并重
  18. 筒仓计算表格_打破筒仓
  19. NAO机器人高尔夫中的视觉系统设计
  20. Access数据库文件HeroDB.MDB用什么工具可以打开呢?

热门文章

  1. mysql判断是否存在索引并删除_mysql判断索引存在时删除索引的方法_MySQL
  2. NOSQL--LSM树
  3. 银河麒麟操作系统用户头像和麒麟传书软件头像同步问题
  4. Proteus使用心得(1) -- I2C调试器
  5. C++中using的用法
  6. Cocos Creator 消除TexturePacker合图导致的灰边
  7. [AUI] Liferay AUI editable的使用
  8. jsp注释和html注释的区别,JSP注释和HTML注释的区别
  9. Ubuntu系统死机之后如何优雅的重启
  10. spring中的Aware接口的作用以及代码剖析