多表连接查询

# 返回的是两张表的乘积
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. springMvc对json的支持

    实体类: public class User { private String id; //有这个注解的属性,不会转换为json @JsonIgnore private String name; .. ...

  2. Java--剑指offer(10)

    46.每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指定一 ...

  3. 自定义CoordinatorLayout Behavior 隐藏Footer View

    在用新的控件中,我们可以用Toolbar与CoordinatorLayout实现 向上滚动隐藏的效果,可是官方并没有找到向上隐藏底部导航的功能,有一些第三方的框架实现了. 在Android M,Coo ...

  4. Redis系列(4)_持久化方式-RDB

    一.概念 在指定的时间间隔内将内存中的数据集快照写入磁盘(满足指定时间间隔和操作次数两个条件),也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里 二.配置文件(redis.con ...

  5. 莫比乌斯函数筛法 & 莫比乌斯反演

    模板: int p[MAXN],pcnt=0,mu[MAXN]; bool notp[MAXN]; void shai(int n){ mu[1]=1; for(int i=2;i<=n;++i ...

  6. poj1417 带权并查集 + 背包 + 记录路径

    True Liars Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2713   Accepted: 868 Descrip ...

  7. 关于ArrayList 容量问题

    ArrayList 是实现List 接口的动态数组,即它的容量大小是可变的.允许包括null 在内的所欲元素. 每个ArrayList 实例都有一个容量,该容量是指用来存储列表元素的数组的大小.默认初 ...

  8. oracle 10g 安装时字符集的选择,和后边的修改

    先用system和密码登陆SQLPLUS,然后: 1.用sys登录到oracle中 connect sys/密码 as sysdba; (能直接以sys登陆到sqlplus吗?)2.开始修改编码 sh ...

  9. js-关于性能优化的一些学习总结

    性能优化的方法有: 1.减少HTTP请求:合并CSS/JS,使用CSS sprite等 2.压缩CSS/JS/图片 3.样式表放头部,JS放body底部:JS放在head中,将会等到js全部下载解析和 ...

  10. MVC5-3 Result分析

    众多的Result 使用MVC进行开发,可以看到有ActionResult.ContentReuslt.JsonResult..等,今天对这些Result进行背后分析.它到底是如何做到的 Action ...