多表连接查询

# 返回的是两张表的乘积
SELECT * FROM tb_emp,tb_dept
SELECT COUNT(*) FROM tb_emp,tb_dept # 标准写法,每个数据库都能这么写
SELECT * FROM tb_emp CROSS JOIN tb_dept # 内连接 只列出这些连接表中与连接条件相匹配的数据行
SELECT * FROM tb_emp e,tb_dept d WHERE e.NAME = d.NAME SELECT * FROM tb_emp INNER JOIN tb_dept
ON tb_emp.NAME = tb_dept.NAME # 外链接 不仅列出与连接条件相匹配的行,还列出左表(左外连接),右表(右外连接)或两个表(全外连接)中所有符合where过滤条件的数据行
# 左外连接 在外连接中,某些不满足条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行
# 左边的表作为主表,左边的表会全部显示
SELECT * FROM tb_emp LEFT JOIN tb_dept
ON tb_emp.NAME = tb_dept.NAME #oracle语法,左连接加号在左边
SELECT * FROM tb_emp e,tb_dept d WHERE e.NAME=d.NAME(+) #右外连接
SELECT * FROM tb_emp RIGHT JOIN tb_dept
ON tb_emp.NAME = tb_dept.NAME #全外连接 MySQL不支持 OUTER #自连接
SELECT c.NAME '部门名字',c2.NAME '其他部门'
FROM tb_dept c LEFT JOIN tb_dept c2
ON c.description=c2.id

子查询

某些情况下,当运行查询的时候,需要的条件是另外一个select语句的结果,这个时候,就要用到子查询

#子查询
SELECT * FROM tb_emp #查询年龄是22的人名
SELECT age FROM tb_emp WHERE sex='男'
SELECT * FROM tb_emp WHERE age>23 SELECT *
FROM tb_emp
WHERE age> (
SELECT age
FROM tb_emp
WHERE NAME='Tom'
) #IN 与列表中的任一成员相等
SELECT *
FROM tb_emp
WHERE age IN (
SELECT age
FROM tb_emp
WHERE sex='男'
) #ANY 与列表中的每一成员比较,小于最大的
SELECT *
FROM tb_emp
WHERE age < ANY (
SELECT age
FROM tb_emp
WHERE sex='男'
)

MySQL学习笔记——多表连接和子查询的更多相关文章

  1. MySQL多表查询之外键、表连接、子查询、索引

    MySQL多表查询之外键.表连接.子查询.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为 ...

  2. ylb:SQL 表的高级查询-多表连接和子查询

    ylbtech-SQL Server: SQL Server-表的高级查询-多表连接和子查询 SQL Server 表的高级查询-多表连接和子查询. 1,ylb:表的高级查询-多表连接和子查询 返回顶 ...

  3. MySQL开发——【联合查询、多表连接、子查询】

    联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 fro ...

  4. MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  5. MySQL数据库学习笔记----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  6. mysql学习笔记-- 多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  7. mysql多表连接和子查询

    文章实例的数据表,来自上一篇博客<mysql简单查询>:http://blog.csdn.net/zuiwuyuan/article/details/39349611 MYSQL的多表连接 ...

  8. MS sql server 基础知识回顾(二)-表连接和子查询

    五.表连接 当数据表中存在许多重复的冗余信息时,就要考虑将这些信息建在另一张新表中,在新表中为原表设置好外键,在进行数据查询的时候,就要使用到连接了,表连接就好像两根线,线的两端分别连接两张表的不同字 ...

  9. 读《程序员的SQL金典》[3]--表连接、子查询

    一.表连接-JOIN 1. 自连接实例 查询类型相同的订单信息. SELECT O1 .*,O2.* FROM T_Order O1 JOIN T_Order O2 ON O1 .FTypeId= O ...

随机推荐

  1. 《HTTP 权威指南》

    第一篇:  Web基础  (HTTP概述. URL.HTTP报文.连接管理) 0. scheme:方案!     协议类型 1.HTTP:超文本传输(状态转移)协议:通信协议方案.     web浏览 ...

  2. Maven的生命周期和插件

    首先解释下maven build等 Maven build是这个插件让你自己去配置执行目标的.Maven clean 清除上一次Maven执行的结果Maven generate-sources会根据p ...

  3. android与网络的交互

    有三种方式: 数据下载,数据上传,数据浏览 URL中一些符号 ?分隔URL和参数 &URL中参数之间的分隔符 =URL中参数对应的值

  4. 转自文翼的博客:将本地时间转换为 GMT 时间

    在写 RSS 订阅接口的时候,发现最终输出文章的 RSS 时间(GMT时间),在本地上显示的时间和在服务器上显示的时间不一致. 原因是时区不一致,那么在 JavaScript 中,如何将时间转换为统一 ...

  5. hdu4725最短路变形 添加点

    The Shortest Path in Nya Graph Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  6. Maven-生命周期

    Maven的生命周期是为了对所有的构建过程进行了抽象了,便于统一. clean(清理) 此生命周期旨在给工程做清理工作,它主要包含以下阶段: pre-clean - 执行项目清理前所需要的工作. cl ...

  7. jsrender for 标签

    for object使用 1.为进入object中直接使用其中的属性 <div id="result"></div> <script id=" ...

  8. 12 抽象函数-abstract

    只有函数的定义,没有函数体的函数被称为抽象函数 1.抽象函数就是没有函数体的函数 2.抽象类使用abstract来定义 3.抽象类不能生产对象,但是可以拥有构造函数 abstract void fun ...

  9. ArrayList实现线程的几种方法

    第一种.给方法名加synchronized Public synchronized void method(){ //-. } 第二种 New synchronized arraylist(); 第三 ...

  10. Yii2的Debug工具

    yii2的Debug工具 调用   r=debug 可以对程序进行性能分析,从而对程序进行改良 (1)数据库某条sql语句的执行时间 (2)debug的profiling标签 \YII::beginP ...