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 ...
随机推荐
- java月利率计算(等额本息贷款)
等额本息 每月还款计算公式: 每月本息金额 = (本金×月利率×(1+月利率)^还款月数)÷ ((1+月利率)^还款月数-1)) 反转求出 月利率 月利率 如果根据上面公式反转是算不出来的. 下面给出 ...
- Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记
刚用Ambari搭建好Hadoop,就开始写Hello World! 一.背景 1.Hadoop版本 经查看为2.7.1 Shell 1 2 3 4 5 6 7 [root@T ...
- LinkQueue(链队)
今天学习了队列,因为前面写了好几个链表实现的数据结构基本上都懂了,然后大致了解了一下队列的特点,便决定用自己的理解来实现一个,然后实现了. (2018-02-14 代码更新) Head file: # ...
- Thread的join方法
一个线程在执行的过程中,可能调用另一个线程,前者可以称为调用线程,后者成为被调用线程. Thread.Join方法的使用场景:调用线程挂起,等待被调用线程执行完毕后,继续执行. 如下案列: 当NewT ...
- Mac. 修改bash_file
https://www.cnblogs.com/mokey/p/3542389.html
- 3 HTML标题&元素&图像&属性&字体增强&链接&头部标签与元素
HTML标题(heading) 通过<h1>~~~<h6>定义,每个元素代表文档中不同级别的内容. h1表示主标题,the main heading , h2,3分别表示二级. ...
- Python基础-2 变量与常量
变量与常量 变量:在程序运行过程中,值会发生变化的量 常量:在程序运行过程中,值不会发生变化的量 无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值. 这里有一点需要注意的是,在py ...
- Codeforces Global Round 4E(字符串,思维)
#include<bits/stdc++.h>using namespace std;string s,a,b;int main(){ cin>>s; int n=s.size ...
- springboot 不停服动态更新定时任务时间(转)
转 https://blog.csdn.net/u012129558/article/details/80834303 Spring框架自3.0版本起,自带了任务调度功能,好比是一个轻量级的Quart ...
- jsoup教学系列
http://my.oschina.net/flashsword/blog?catalog=390084