连接查询详解

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

连接查询:

以一个共同的字段,求两张表当中符合条件的并集。 通过共同字段把这两张表连接起来。

常用的连接:

内连接:根据表中的共同字段进行匹配

外连接分两种:左外连接、右外链接。

 

 

1内连接 语法:

select 字段  from 表1 inner join 表2  on 表1.字段=表2.字段

 

2 内连接:根据表中的共同字段进行匹配

create table student(

            sid int(4) primary key auto_increment,

            name varchar(50)

);

mysql> insert into student values(1,'张三'),(2,'mk'),(3,'jack'),(4,'tom');

 

创建年级表:grade

create table grade(

            id int(4) primary key auto_increment,

            score varchar(20),

            sid int(4)

);

mysql> insert into grade (score,sid) values ('1231',3),('1231',4),('1231',5),('1231',6);

 

 

查询有的成绩的人的信息.

mysql> select  student.*,grade.* from student,grade where student.sid=grade.sid;

或:

或:

mysql> select student.*,grade.* from student inner join grade  on student.sid=grade.sid;

或:

mysql> select student.*,grade.* from student  join grade  on student.sid=grade.sid;

 

使用表别名,简写SQL语句

mysql> select s.*,g.* from student as s inner join grade as g on s.sid=g.sid;

3 外连接:现实某数据表的全部记录和另外表中符合连接条件的记录。

 

左连接: select  字段 from a表 left join b表  on 连接条件

a表是主表,都显示。

b表从表

 

主表内容全都有,从表内没有的现实null。

mysql> select * from student as s left join grade as g on s.sid=g.sid;

右连接:

select 字段 from a表 right join  b表 on 条件

a表是从表,都显示。

b表主表

 

select * from student as s right join grade as g on s.sid=g.sid;

grade表为主表,全部记录显示出来,student为从表。不匹配的地方以NULL显示

右连接,可以多表连接

注意:有连接多表连接 是 前两个表连接后 成为从表 ,在和第三个表连接。

本文转自xinsz08の平行时空博客51CTO博客,原文链接http://blog.51cto.com/xinsz08/1915911如需转载请自行联系原作者


维度2018

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
第6章_多表查询
第6章_多表查询
285 0
|
2月前
(头哥)多表查询与子查询
(头哥)多表查询与子查询
32 0
|
2月前
|
SQL
深入了解关联查询和子查询
深入了解关联查询和子查询
23 0
|
10月前
|
SQL
联合查询和子查询
联合查询和子查询
|
10月前
|
SQL Java 关系型数据库
第06章_多表查询(下)
第06章_多表查询(下)
65 0
第06章_多表查询(下)
|
关系型数据库 MySQL 开发者
连接查询之外连接 | 学习笔记
快速学习连接查询之外连接。
连接查询之外连接 | 学习笔记
笛卡尔积与连接查询
连接查询 (左连接 右连接 内连接)
146 0
|
SQL 关系型数据库 MySQL
SQL 内连接,外连接(左外连接、右外连接)
参考https://blog.csdn.net/plg17/article/details/78758593整理笔记 一、内连接 关键字:inner join on 语句:select * from a_table a inner join b_table bon a.a_id = b.b_id; 执行结果: 说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。
1384 0
|
关系型数据库 MySQL Oracle
MySQL表连接(内连接、交叉连接、外连接、联合查询)
MySQL表连接(内连接、交叉连接、外连接、联合查询) 一、内连接(INNER JOIN)    SELECT * FROM 表1 INNER JOIN 表2   ON   条件    SELECT * FROM 表1 INNER JOIN 表2   WHERE  条件    典型的联接运算,使用像 =  或 之类的比较运算符)。
9382 0