5、mysql的连接查询
1、内联查询
>inner join 或 join
2、外联查询
(1)左连接
>left outer join 或 left join
(2)右连接
>right outer join 或 right join
(3)完全外连接
>full outer join 或 full join
代码详解:
1、数据准备
(1)创建一个新的数据库
>create database testjoin;
(2)创建两个表person、card
>create table person(
-> id int ,
-> name varchar(20),
-> cardid int);
>create table card(
-> id int,
-> name varchar(20));
(3)添加数据
>insert into card values (1,'饭卡');
>insert into card values (2,'建行卡');
>insert into card values (3,'农行卡');
>insert into card values (4,'工商卡');
>insert into card values (5,'邮政卡');
>insert into person values (1,'张三',1);
>insert into person values (2,'李四',3);
>insert into person values(3,"王五",6);
2、查询
——上述两个表并没有创建外键
(1)inner join查询
>select * from person inner join card on person.cardid = card.id;
【注】内联查询,其实就是查询两张表中相等的数据(有关联的数据,上述是cardid对应card.id)
(2)left join (左外连接)
> select * from person left join card on person.cardid = card.id;
【注】左外连接就是将写在left join左侧的表的数据全部取出来而右侧的数据有的取出来如果没有补上NULL
(3)right join (右外连接)
>select * from card right join person on person.cardid = card.id;
【注】右外连接就是将写在right join右侧的表的数据全部取出来而左侧的数据有的取出来如果没有补上NULL
(4)full join(全外连接)
> select * from card full join person on person.cardid = card.id;
上述可知:mysql是不支持全连接的,可以通过将左连接与右连接用union加起来的方式:
>select * from card right join person on person.cardid = card.id union select * from card left join person on person.cardid = card.id;
【注】如上图:会将左边右边的表的数据全部显示出来,彼此之间没有的彼此间补NULL
关注个人公众号,有福利哦……

5、mysql的连接查询的更多相关文章
- MySql的连接查询
类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...
- MySQL查询优化:连接查询排序limit
MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27 个评论 收藏 我要投稿 MySQL查询优化:连接查询排序 ...
- 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数
MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...
- MySQL常见连接查询
在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...
- Mysql表连接查询
原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...
- 【mysql】连接查询
- MySQL之连接查询
主要是多表查询和连接查询
- mysql之连接查询、联合查询、子查询
本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 exists子查询 首发日期:2018-04-11 连接查询: 连接查询就是将多个表联合起来查询,连接查询方式有内连接.外连接 ...
- mysql(连接查询和数据库设计)
--创建学生表 create table students ( id int unsigned not null auto_increment primary key, name varchar(20 ...
- LeetCode 175. Combine Two Tables 【MySQL中连接查询on和where的区别】
一.题目 175. Combine Two Tables 二.分析 连接查询的时候要考虑where和on的区别 where : 查询时,连接的时候是必须严格满足条件的,满足了才会加入到临时表中. on ...
随机推荐
- python opencv:摄像头捕获图像
- 吴裕雄 python 神经网络——TensorFlow variables_to_restore函数的使用样例
import tensorflow as tf v = tf.Variable(0, dtype=tf.float32, name="v") ema = tf.train.Expo ...
- 吴裕雄 python 神经网络——TensorFlow训练神经网络:花瓣识别
import os import glob import os.path import numpy as np import tensorflow as tf from tensorflow.pyth ...
- eclipse修改工作空间编码格式
一.修改workspace默认编码 eclipse打开window -> 打开preferences 二.修改jsp默认编码 eclipse打开window -> 打开preference ...
- ResultSet指针回到初始位置的方法及ResultSet介绍
原文地址: https://blog.csdn.net/walkerjong/article/details/7023872 仅供学习参考使用. 结果集(ResultSet)是数据中查询结果返回的一种 ...
- kafka创建topic报错
kafka执行如下创建topic的语句: [root@node01 kafka_2.11-1.0.0]# bin/kafka-topics.sh --create --topic streaming- ...
- LVS负载均衡软件使用及(LVS简介、三种工作模式、十种调度算法)
一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案, ...
- jmeter 并发控制
1.吞吐控制器以线程组的请求sampler为控制对象, 2.事务控制器: 3.同步定时器syn timer:对某线程组下任意的sampler任意位置作用为,有序控制单个sampler的并发先sampl ...
- 计算机基础- 序列化(Serialization)和持久化(Persistence)的区别
参考 https://en.wikipedia.org/wiki/Serialization https://en.wikipedia.org/wiki/Persistence_(computer_s ...
- 如果你是新晋的leader, 你可能需要了解这些。
背景 在职业发展的道路上,我们总会面临这样的抉择: 是在技术的路上一条路走到黑,做技术专家 接触管理, 走上管理 年龄大了,搬砖没人要,转型 or 去公司楼下卖炒粉 我曾经有个小小的愿望: 在毕业5年 ...