MySQL(13)-----多表查询(子查询)
1.子查询
一个查询依赖于另一个查询,则它们之间存在父子关系,称这种查询关系为子查询。
2.练习
查询用户为"小明"的订单详情:
方式1:
-->select id from user where username = '小明'; //查询的小明id为3
-->select * from orders where user_id = 3;//查询小明的id值后,在订单表中将该id值作为条件再次进行查询。
方式2:上述方式过于繁琐,我们也可以合并查询
select * from orders where user_id = (select id from user where username = '小明');
查询出订单的价格大于300的所有的用户信息:
方式1:
-->select user_id from orders where totalprice > 300;
-->select * from user where id in(?,?,?,?);
方式2:合并上述查询
查询订单大于300的订单信息及相关用户的信息:
来一波查询如下。。
select orders.*,user.* from orders, user where orders.totalprice > 300;
观察上述结果,好像不是我们需要的结果,笛卡尔积结果查询了。再次改动,使用内连接查询方式:
select orders.*,user.* from orders, user where user.id = orders.user_id and orders.totalprice > 300;
但是,我们要使用子查询方式获取结果集,再次改动,使用子查询方式:(将一个查询的结果作为一张临时表)
select user.*,tmp.* from user,(select orders from orders where totalprice > 300) as tmp where user.id = tmp.user_id;
select tmp.*,user* from user,(select orders from orders where totalprice > 300) as tmp where user.id = tmp.user_id;
【注意:调换查询表顺序,显示的结果内容一样,仅方式不同。同时,我们也给表定义了一个别名,关键字“as”,别名“tmp”】
格式:表 [as] 别名
人的一生中,最光辉的一天并非是功成名就那天,而是从悲叹与绝望中产生对人生的挑战,以勇敢迈向意志那天。愿你就像早晨八九点钟的太阳,活力十足,永远年轻。
MySQL(13)-----多表查询(子查询)相关推荐
- MYSQL优化派生表(子查询)在From语句中的
Mysql 在5.6.3中,优化器更有效率地处理派生表(在from语句中的子查询): 优化器推迟物化子查询在from语句中的子查询,知道子查询的内容在查询正真执行需要时,才开始物化.这一举措提高了性能 ...
- mysql外表内表_mysql 子查询 将最外表带入子查询内2层 的另一种解决方法
SELECT ( select count(*) from BORROW_LIST where DELETE_FLAG=0 and BORROW_ID=c.BORROW_ID group by ...
- mySQL学习记录(局域网连接/基础查询/条件查询/常见函数/窗口函数/表连接/子查询/插修删建表)
一些基础概念 DB 数据库 存储数据的容器 DBMS 数据库管理系统 又称数据库软件.产品如mysql/oracle/db2/sqlserver SQL 结构化查询语言 是所有的DBMS都使用的一种D ...
- MySQL数据库多表查询,子查询
写博客的第四天,今天来点数据库的操作,温故而知新,在前进的路上,多看看自己曾经走过的路,不要忘了自己是怎么一步一步走过来的,对于前方未知的道路,不要轻言放弃. 今天的内容全部是MySQL里面的语句,基 ...
- MySQL核心查询-排序 分组 聚合 多表查询 合并查询 子查询
目录 一.单表查询 排序 聚合函数 分组 limit关键字 二.SQL约束 主键的自增 DELETE和TRUNCATE对自增长的影响 三.多表查询 外键约束 删除外键约束 多表查询的分类 内连接查询 ...
- mysql 子表_MySQL子查询,派生表和通用表达式
一:子查询 1.介绍 在另一个查询(外部查询)中嵌套另一个查询语句(内部查询),并使用内部查询的结果值作为外部查询条件. 2.子查询在where中 SELECT customerNumber, che ...
- 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引
1. oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的 ...
- MySQL学习(四、子查询)
一.子查询 子查询指的就是在一个查询之中嵌套了其他的若干查询,在使用select语句查询数据时,有时候会遇到这样的情况,在where查询条件中的限制条件不是一个确定的值,而是一个来自于另一个查询的结果 ...
- mysql upload_关于mysql数据库里的 upload子查询问题
报错原因:mysql规定了:upload子查询问题,不能像我这样写,这是mysql目前的版本缺陷 我是这样写道:UPDATE vote_items set times=((SELECT times f ...
- sql 基础语法 创建数据库和数据表 数据增删改查 分组查询 子查询回顾
参考链接: SQL教程 MySQL教程 一.创建数据库语法 --用master数据库 use master --判断数据库是否存在,若存在则删除 if exists (select * from sy ...
最新文章
- 如何用虚幻引擎4和C++开发游戏?斯坦福相关课程上线
- MyEclipse快捷键与插件大全
- python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式
- JVM内存模型及垃圾收集策略解析(一)
- EF Code First 学习笔记:关系(转)
- 光盘隐藏文件夹 linux,linux常用命令大全2--挂载/dpkg/文件系统分析/apt/光盘/关机...
- 【Python实例第7讲】真实数据集的异常检测
- java怎么销毁session_java怎么销毁session?
- 设备无法连接到你的计算机,此硬件设备未连接到计算机(代码45) | MOS86
- 【转载】C++编码规范与指导
- 系统架构设计师考试题库笔记重点3:嵌入式系统设计
- 王慧文清华产品课(二)
- contextmenu 鼠标右键菜单功能
- 台式电脑出厂编号怎么查_出厂编号的查询方法
- 服务号和订阅号之间的区别,企业适合选择哪一个?
- 创建Hive外部表,关联HDFS文件
- 激活函数(1)Sigmoid激活函数
- 摇奖机是按照金字塔的原理设计的
- eclipse 项目有红叉(解决方法)
- CC254x简介-CC2541/CC2540
热门文章
- ElasticSearch全文搜索引擎之索引和文档的API操作详解
- Spring Cloud Alibaba入门简介
- Java常见算法之二分法查找算法详解
- 又臭又长的if...else太多了,不知道如何消除?
- Map集合之ConcurrentHashMap
- mysql去除重复的数据
- 使用Spring Data JPA作为持久层框架
- Java中String、StringBuffer和StringBuilder的区别和堆栈内存分配
- 「MYSQL」MYSQL中的int(11)到底代表什么意思?
- .Net中常用的几种ActionResult