博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小贝_mysql select连接查询
阅读量:6327 次
发布时间:2019-06-22

本文共 1630 字,大约阅读时间需要 5 分钟。

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!

转载于:https://www.cnblogs.com/yutingliuyl/p/7223578.html

你可能感兴趣的文章
Speex手册----Speex 简介
查看>>
关于VMR7、VMR9、Video Renderer
查看>>
Python实现浏览器自动化操作
查看>>
webarchive文件转换成htm文…
查看>>
使用 Dawn 构建 React 项目
查看>>
MySQL 5.7怎么爬出临时表空间的坑
查看>>
消费市场社会化数字营销通关秘籍:聚合、感知、同行
查看>>
康泰瑞影推高性能3D/4D超声可视化方案
查看>>
中国人工智能学会通讯——有温度的机器人
查看>>
Commvault蔡报永:点亮你的暗数据
查看>>
10家企业激烈角逐“创新沙盒” UnifyID夺得第一
查看>>
Check Point曝光通过图片传播恶意软件新手法ImageGate
查看>>
全国80%光纤接入 百兆宽带竟打不开网页
查看>>
M2M系统是什么,你知道吗?
查看>>
signalR+redis分布式聊天服务器搭建
查看>>
在开发者眼中,ARM mbed平台的优劣各是什么?
查看>>
决定搞一个云前需要跨过那些门槛?
查看>>
物联网 让生活更智能还是更危险?
查看>>
Linux Shell通配符、元字符、转义符最全使用攻略
查看>>
告诉你为什么Python有点慢,但我却无所谓?
查看>>