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的连接查询的更多相关文章

  1. MySql的连接查询

    类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...

  2. MySQL查询优化:连接查询排序limit

    MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27      个评论       收藏    我要投稿   MySQL查询优化:连接查询排序 ...

  3. 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数

    MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...

  4. MySQL常见连接查询

    在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...

  5. Mysql表连接查询

    原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...

  6. 【mysql】连接查询

  7. MySQL之连接查询

    主要是多表查询和连接查询

  8. mysql之连接查询、联合查询、子查询

    本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 exists子查询 首发日期:2018-04-11 连接查询: 连接查询就是将多个表联合起来查询,连接查询方式有内连接.外连接 ...

  9. mysql(连接查询和数据库设计)

    --创建学生表 create table students ( id int unsigned not null auto_increment primary key, name varchar(20 ...

  10. LeetCode 175. Combine Two Tables 【MySQL中连接查询on和where的区别】

    一.题目 175. Combine Two Tables 二.分析 连接查询的时候要考虑where和on的区别 where : 查询时,连接的时候是必须严格满足条件的,满足了才会加入到临时表中. on ...

随机推荐

  1. Dism++ 更新管理提示“无法连接服务器”

    Dism++ 更新管理提示"无法连接服务器" 下载wsusscn3.cab,放入Dism++安装目录下Config文件夹中.

  2. cglib用法

    CGLib动态代理的介绍及用法(单回调.多回调.不处理.固定值.懒加载) 参照: https://blog.csdn.net/difffate/article/details/70552056 前面介 ...

  3. webpack搭建vue项目

    链接:https://blog.csdn.net/qq_42181069/article/details/81137180 __dirname : 文件的绝对路径

  4. springmvc项目的搭建

    springmvc替代servlet的工作 Servlet - Springmvc        jsp ->Servlet (Springmvc)->Jsp springmvc配置文件 ...

  5. base64相关

    1.base64指定的64个字符(包含52个大小写.10个数字和+./): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ...

  6. stm32CubeMx lwip + freeRTOS

    MCU: STM32F429IGT6 工具:STM32CubeMx  版本号 5.0.0 Keil uVersion5 目的:使用LWIP 实现简单的网络连通 一  简介 LWIP(Light Wei ...

  7. python requirements.txt批量下载安装离线

    有些情况下我们需要下载N个第三方包,或者下载的包依赖其它包,一个个下载非常浪费时间.这时我们可以通过如下两种方式的命令批量下载. 方式1 pip download -d /tmp/packagesdi ...

  8. Faster-RCNN Pytorch实现的minibatch包装

    实际上faster-rcnn对于输入的图片是有resize操作的,在resize的图片基础上提取feature map,而后generate一定数量的RoI. 我想首先去掉这个resize的操作,对每 ...

  9. UIKit框架使用总结--看看你掌握了多少

    一.经常使用的,基本就是每次项目迭代都需要使用的 UIView.UILabel.UIImage.UIColor.UIFont.UIImageView.UITextField.UIButton. UIS ...

  10. js判断对象中是否存在某一项和判断是否是对象

    1.判断是否为对象 let str = { name: '第一', age: 12 } console.log(typeof str== "object") 2.判断对象中是否有某 ...