MySQL的联合查询和子查询
来源:互联网 发布:西安天睿软件 编辑:程序博客网 时间:2024/04/29 18:27
MySQL的联合查询和子查询
- @ sunRainAmazing
联合查询
联合查询 将多次查询(多条select语句),在记录上进行拼接(字段不会增加) 基本语法 多条select语句构成, 每一条select语句获取的字段必须严格一致(与字段类型无关) select 语句1 union [union 选项] select 语句2...... union选项:与select选项一样有两个 all: 保留所有不管重复 district:去重(整个重复)---默认的 联合查询的意义? 1、查询同一张表,需求不同 如查询学生信息,男生年龄升序desc,女生年龄降序asc? 2、多表查询:多表的结构是完全一样的,保存的数据(结构)也是一样的 注意事项 1.在联合查询中 order by 不能单独使用, 需要对查询语句使用括号才行 2.若想器生效 必须结合limit 关键字才可以 采用最大数 999999(select * from stu where sex='男' order by age desc limit 999999)union(select * from stu where sex='女' order by age asc limit 999999);
子查询
子查询 含义: sub query从其他查出来的结果之上获取 一条select语句内部包含另外的select语句 分类: 按位置分类:子查询(select) 在外部查询(select语句)中出现的位置 ① from子查询:出现在from之后 ② where子查询:出现在where条件 ③ exists子查询:出现在exists里面 按结果分类:根据子查询得到的数据进行分类 (理论上任何一个查询得到的结果都可以理解为二维表) ① 标量子查询:子查询得到的结果是一行一列 ② 列子查询:子查询得到的结果是一列多行 ③ 行子查询:结果是多列一行(多列多行) ---都是在where之后 表子查询:结果是多行多列,出现的位置是在from之后 1.确定数据源 查找查询条件 -- 查询班级名为 Java01 的学生的信息 select * from stu where cid = (select id from cla where name='Java01'); -- 查询所有班级的学生信息(有的学生还没有正式进班) select * from stu where cid in (select id from cla); -- 查询是否存在 年龄最大 且身高最高的学生的信息 select * from stu where age = (select max(age) from stu) and height = (select max(height) from stu); ---还可以利用行元素进行 查询 (age,height) 称之为行元素 select * from stu where (age,height)= (select max(age),max(height) from stu);
0 0
- MySQL的联合查询和子查询
- Mysql子查询和联合(UNION)查询详解
- 【进阶】MySQL中的子查询和联合查询
- 05、MySQL外键、联合查询和子查询
- MySql学习 - 查询/子查询/连接查询/联合查询
- MySQL的联合查询
- MySql的联合查询
- mysql的联合查询
- mysql之union联合查询、子查询、连接查询
- mysql联合查询和关联查询
- oracle联合子查询
- SQL Join on联合查询和子查询
- 数据库——(10)联合查询和子查询
- mybatis 构造查询和联合子查询问题
- MySQL数据高级查询之连接查询、联合查询、子查询
- MySQL数据高级查询之连接查询、联合查询、子查询
- MySQL数据高级查询之连接查询、联合查询、子查询
- MySQL数据高级查询之连接查询、联合查询、子查询
- CSUOJ 1861 Unscrambling Images 直接模拟,题面有点难看
- 学习python会遇到的坑
- android简单的自定义相机
- c语言各类库函数的含义及用法
- 费马和欧拉
- MySQL的联合查询和子查询
- java 蓝桥杯 走出迷宫
- 自学笔记の深度优先搜索篇
- ZBIT、UBIT是什么?
- 文档总结:linux中的用户操作与权力下放
- 2016最新整理黑马程序员JavaEE第28期 基础班就业班
- XML文件
- 求1e11以内的素数
- Netty 源码分析之 一 客户端创建(Bootstrap )