小贝_mysql select连接查询
select连接查询
简要:
一、union联合查询
二、左右内连接
一、union联合查询
作用: 把2次或多次查询结果合并起来
具体: (表1查询结果) union (表2查询结果)
运行: 先算表1查询结果,再算表2查询结果。再通过union把结果联合起来。
总结:
a、左右查询结果列数一致
b、终于显示结果以第一张表的列名为主
c、左右查询结果的列类型最好也一致。不然就会进行转换。
由低到高。如表1结果A列为整形,表2结果A列为浮点型。则表1在A列的结果转换为浮点型
d、能够是不同表
e、假设不同的语句中取出的行,有全然同样(每一个列的值都同样),那么同样的行将会合并(去重)
案例:
查询 这种结果:
a16,b 21,c 14,d 41
步骤1: union来获取两张表的查询结果
步骤2: 把步骤1的查询结果看成暂时表
不足之处: 上述案例中表ta和tb中不存在全然同样的列(即查询结果中全部列的值都一样)
改动下tb表
此时。运行步骤2的sql语句
发现id为a的值总和为5而不是为10.
这是由于假设不同的语句中取出的行,有全然同样(每一个列的值都同样),那么同样的行将会合并(去重)
处理方案: 用union all
二、连接查询
通常情况下表与表之间是没有什么关系的。可是我们能够通过一个字段,让表与表发生关系。
把表看成集合。
2.1、左连接
语法: select 列1。列2。列N from tableA left join tableB on tableA.列=tableB.列
2.2、右连接
语法: select 列1,列2,列N from tableA right join tableB on tableA.列=tableB.列
2.3、内连接
语法: select 列1,列2,列N from tableA inner join tableB on tableA.列=tableB.列
2.4、左右内连接的差别
create table boy
( name char(3) not null,
flower char(5)
)engine=myisam charset utf8;
create table girl
( name char(3),
flower char(5)
)engine=myisam charset utf8;
insert into boy values('林书豪','玫瑰'),('刘翔','桃花'),('周杰伦','茉莉花'),('犀利哥','荷花'),
('刘德华','狗尾巴花');
insert into girl values('艾薇尔','玫瑰'),('居里夫人','桃花'),('芙蓉姐','茉莉花'),('凤姐','茉莉花'),('林志玲','荷花');
案例一: 依据花,男找女
左连接
以左表为准。去右表找匹配数据,找不到匹配,用NULL补齐。
总结: tableA为N ;tableB为M。则在以tableA为左表的情况下,得到的数据行数至少为N行。
案例二: 依据花,女找男
总结:
左连接和右连接相互转换。A
在 B的左边 ==》B在A的右边A left join B ==》B rightjoin A
怎样记忆:
1、 左右连接能够相互转化
2、 能够把右连接转换为左连接来使用(兼容其他数据版本号)
案例三: 不管男女,查找有伴的人
总结: 内连接inner join 查询左右连接都有的数据。即得到左右连接的交集
思考: 是否能查出左右连接的并集呢?
答: 眼下不能直接获取,眼下的mysql不支持外链接。
但能够用union联合
The quieter you become,the more you are able to hear!
小贝_mysql select连接查询的更多相关文章
- 小贝_mysql三种子查询
mysql三种子查询 简要: 一.三种子查询 二.三种子查询理解模型 一.mysql 三种子查询 where子查询.from子查询.exists子查询 二.理解模型: 2.1.一个好的模型,便于我们去 ...
- 小贝_mysql sql语句优化过程
sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...
- 小贝_mysql建表以及列属性
mysql建表以及列属性 简要: 一.建表原则 二.具体的列属性说明 一.建表原则 建表: 事实上就是声明列的过程,数据终于是以文件的形式放在硬盘(内存) 列: 不同的列类型占的空间不一样. 选列的原 ...
- 小贝_mysql主从复制作用以及案例
mysql主从复制 简要: 一.mysql用户授权 二.mysql bin-log日志 三.mysql主从复制 一.mysql用户授权 1.命令 2.作用:进行权限控制 3.样例: (备注: 同意 ...
- 小贝_mysql优化学习
mysql优化 简要: 1.数据库设计优化 2.sql语句优化 3.表切割 4.读写分离技术 一.数据库设计优化 1.表设计要符合三范式.当然,有时也须要适当的逆范式 2.什么是三范式 一范式: 具有 ...
- 小贝_mysql select5种子句介绍
mysql select5种子句介绍 简要 一.五种字句 二.具体解释五种字句 一.五种字句 where.group by.having.order by.limit 二.具体解释五种字句 2.1.理 ...
- 小贝_mysql 存储过程
存储过程 简要: 1.什么是存储过程 2.使用存储过程 一.存储过程 概念类似于函数,就是把一段代码封装起来.当要行这段代码的时候,能够通过调用该存储过程来实现.在封装的语句体里面.能够用if/els ...
- 小贝_mysql 触发器使用
触发器 简要 1.触发器基本概念 2.触发器语法及实战样例 3.before和after差别 一.触发器基本概念 1.一触即发 2.作用: 监视某种情况并触发某种操作 3.观察场景 一个电子商城: 商 ...
- 小贝_mysql数据库备份与恢复
mysql数据库备份与恢复 简要: 一.数据库备份 二.数据库恢复 一.数据库备份 1.备份简单说明 : 系统执行中,增量备份与总体备份 例: 每周日总体备份一次,周一到周 ...
随机推荐
- “玲珑杯”ACM比赛 Round #23
A -- 生是脂肪的人 Time Limit:2s Memory Limit:128MByte Submissions:263Solved:97 DESCRIPTION 给定一个整数n,输出[(10^ ...
- Vijos1512 SuperBrother打鼹鼠
SuperBrother打鼹鼠 Vijos链接 题目描述: 在一个矩阵中,有三种操作: 1.后面跟着3个数x,y,k,表示在点(x,y)处新出现了k只鼹鼠. 2.后面跟着4个数x1,y1,x2,y2, ...
- PHP变量的生命周期
变量不仅有其特定的作用范围,还有其存活的周期--生命周期.变量的生命周期指的是变量可被使用的一个时间段,在这个时间段内变量是有效的,一旦超出这个时间段变量就会失效,我们就不能够再访问到该变量的值了. ...
- JQUERY杂技
JQUERY小技巧 this.value jsobject.val() #aaa:eq(2) 选择第三个id为aaa的元素 $("input")只选择input标签.如:<i ...
- 设计模式(一)单例模式:1-饿汉模式(Eager)
思想: 饿汉模式是最常提及的2种单例模式之一,其核心思想,是类持有一个自身的 instance 属性,并且在申明的同时立即初始化. 同时,类将自身的构造器权限设为 private,防止外部代码创建对象 ...
- 【Luogu】P3343地震后的幻想乡(对积分概率进行DP)
题目链接 神难qwq.配合rqy的博客食用. 首先我们学到有一个概率函数$p(x)$表示某事件发生概率取值小于x的函数.这个函数有什么特点呢? 那就是$\int_{-∞}^{∞}p(x)dx=1$ 这 ...
- HDU——5667Sequence(矩阵快速幂+费马小定理应用)
Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total S ...
- BZOJ1880 [Sdoi2009]Elaxia的路线 【最短路 + dp】
题目 最近,Elaxia和w的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w每天都要奔波于宿舍和实验室之间,他们 希望在节约时间的前提 ...
- <定时主库导出/备库导入>
1.设置定时任务时间及所需要的dmp文件路径 [mm1@localhost ~]$ crontab -e 0 0 * * * sh /home/mm1/exp_table.sh 2>& ...
- P2622 关灯问题II (状态压缩,最短路)
题目链接 Solution 这道题算是很经典的状压问题了,好题. 考虑到 \(n\) 的范围仅为 \(10\) , 那么也就是说所有状态压起来也只有 \(1024\) 种情况. 然后我们发现 \(m\ ...