连接查询又称多表查询,查询到的字段来自于多个表中的数据。
一、 连接查询的分类和语法
1.分类
按标准分:
92标准:只支持内连接
99标准:支持内连接和、外连接和全外连接
功能进行分类:
内连接:inner
等值连接
非等值连接
自连接
外连接:
左外连接left 【outer】
右外连接right【outer】
全外连接(mysql不支持) full【outer】
交叉连接cross
笛卡尔集:没有加约束条件。若表1有m行数据,表2有m2行数据,最终有m*m2行数据。
2.语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【having 筛选条件】
【order by 排序列表】
二、内连接(inner)
1.等值连接
语法:select 查询列表 from 表1 别名1 [inner join] 表2 别名 [on]/[where] 连接条件
特点:
①多表等值连接的结果为多表的交集部分;
②m个表的连接,至少需要m-1个连接条件
③各个表的先后顺序没有要求
④可以结合其他函数和字句,比如:排序、分组、筛选等
⑤可以用inner join on连接也可以使用from多个表
⑥inner join on 是sql99语法规范,提高了分离性、可读性。




2.非等值连接


3.自连接
查询出员工名和上级名

三、外连接
用于查询一个表中存在另一个表中不存在的数据
1.特点
①外连接的查询结果为主表中的所有数据,若从表中有和他匹配的,则显示匹配的数据;若没有与之匹配的数据,则显示null
②左外连接,left join 左边是主表;右外连接,right join 右边是主表
③左外和右外交换两个表的顺序,可以实现相同的查询结果
④全外连接=内连接+表1中有表2中没有的+表2中有表1中没有的
2.左外连接

3.右外连接

4.全连接

mysql--连接查询(内外连接)的更多相关文章

  1. MySQL之表连接(内外连接和重命名的使用)

    #要多练练 1.连接查询根据连接方式分为 内连接 等值连接 非等值连接 自连接 外连接 左外连接(左连接) 右外连接(右连接) 当多张表进行连接查询,若没有任何条件进行限制,会 发生什么现象? 会出现 ...

  2. MYSQL子查询与连接

    37:子查询与连接SET 列名 gbk;//改变客户端数据表的编码类型. 子查询子查询(Subquery)是指出现在其他SQL语句内的SELECT子句例如SELECT * FROM t1 WHERE ...

  3. MySQL分组查询与连接查询

    一,分组查询 使用ORDER BY子句将表中的数据分成若干组(还是按行显示) 语法: SELECT 字段名[,聚集函数] FROM 表名 [WHERE子句] GROUP BY 要分组的字段名 [ORD ...

  4. MySql基本查询、连接查询、子查询、正则表达查询解说

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 查询数据指从数据库中获取所须要的数据.查询数据是数据库操作中最经常使用,也是最重要的操作.用户 ...

  5. Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解

    查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...

  6. mysql 数据操作 多表查询 多表连接查询 内连接

    内连接:只连接匹配的行 只取两张表共同的部分,相当于利用where 过滤条件从笛卡尔积结果中筛选出了正确的结果 select * from 左表 inner join 要连接的表 on 条件 #dep ...

  7. MySQL数据库 : 查询语句,连接查询及外键约束

    查询指定字段        select 字段1,字段2 from 表名; 消除重复行(重复指的是结果集中的所有完全重复行)             select distinct 字段1,字段2.. ...

  8. mysql子查询与连接查询

    表结构以及数据: CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) CHARACTER SET utf8 COLLAT ...

  9. mysql——多表——外连接查询——左连接、右连接、复合条件查询

    ), d_id ), name ), age ), sex ), homeadd ) ); ,,,'nan','beijing'); ,,,'nv','hunan'); ,,,'nan','jiang ...

随机推荐

  1. AnkhSVN使用手册

    (一) 安装: Subversion客户端安装------AnkhSVN AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交.更新.添加文件,而不用在命令行或资源管理 ...

  2. Jmeter4.0----HTTP Cookie管理器_抓取cookie中的参数(13)

    1.说明 请求结束后,要通过登录用户的JSESSIONID判断用户是否登录成功 2.步骤 第一步:添加 HTTP Cookie管理器 录制前,创建”线程组”,线程组=>配置元件=>HTTP ...

  3. Java面向对象_常用类库api

    StringBuffer 例: public class StringBufferDemo { /** * @param args */ public static void main(String[ ...

  4. ElasticSearch之QueryBuilders

    1.termsQuery A filer for a field based on several terms matching on any of them 翻译过来:基于以下几个方面对其中任何匹配 ...

  5. ElasticSearch:华为云搜索CSS 之POC操作记录

    2019/03/06 09:00 ES文档官方:https://support.huaweicloud.com/usermanual-es/es_01_0024.html 华为云区域:华北北京1 ES ...

  6. java.sql.SQLException: Zero date value prohibited 报错分析

    今天在使用 iReview 复习词条时,发现 review 页面始终不会跳到下一个词条,应该是前台或者后台出现 BUG 了. 查看浏览器控制台,看到 500 报错,那应该是后台的问题. 登录后台,先查 ...

  7. 动态页面技术----JSP技术

    1995年java诞生,没有jsp,只有Servlet, Servlet开发:Servlet上嵌套html代码,非常繁琐. 1998年,出现jsp,方便写html代码,并且可以在html代码中嵌套ja ...

  8. Js常见算法实现汇总

    /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.length; for(var ...

  9. 从零开始的全栈工程师——js篇2.4

    条件语句与循环语句 变量提升: 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作 ...

  10. cf600E. Lomsat gelral(dsu on tree)

    题意 题目链接 给出一个树,求出每个节点的子树中出现次数最多的颜色的编号和 Sol dsu on tree的裸题. 一会儿好好总结总结qwq #include<bits/stdc++.h> ...