以下Sql语句所用到的表:

1. 视图

(1)定义

视图可被看成是虚拟表或存储查询。表中存放的是实际数据,视图中存放的是sql查询语句,使用视图时,会运行视图里的sql查询语句,创建出一张临时表。

(2)语法

create view 视图名称(<视图列名1>,<视图列名2>,…)
as
<select 查询语句>;

(3)例子

①创建视图

create view 按性别汇总(性别,人数)
as
select 性别,count(*)
from student
group by 性别;

②使用视图【在from子句中,使用视图名称代替表名称】

select 性别,人数
from 按性别汇总;

(4)作用

  • 数据庞大时,使用视图帮助我们提高效率。
  • 视图中的数据随着原表的变化自动更新,保证数据的最新状态。
  • 视图不需要保存数据,可以节省存放数据设备的空间。

(5)注意事项

  • 避免在视图的基础上再去创建视图,多重视图会降低sql的性能和效率。
  • 不能往视图里插入数据,不然会报错。

2. 子查询

(1)标量(单行)子查询

通过比较运算符、between连接起来的嵌套查询,子查询的结果只能返回单个值。

①查找大于平均成绩学生的学号和成绩

select 学号,成绩
from score
where 成绩>(select avg(成绩)from score);

②查找处于差生(成绩<=60)和优等生(成绩>=80)之间成绩学生的学号和成绩

select 学号,成绩
from score
where 成绩 between (select avg(成绩)from scorewhere 成绩<=60) and(select avg(成绩)from scorewhere 成绩>=80);

③查找学生的学号、成绩和平均成绩

select 学号,成绩,(select avg(成绩)from score) as 平均成绩
from score;

(2)多行子查询

通过in、any、all连接起来的嵌套查询,子查询的结果返回多行。

①哪些学生的成绩比课程0002的全部成绩里的任意一个高呢?

select 学号,成绩
from score
where 成绩>any(select 成绩from scorewhere 课程号='0002');

②查询选了2门以上课程的学生的学号、姓名和性别

select 学号,姓名,性别
from student
where 学号 in (select 学号from scoregroup by 学号having count(*)>2);

③查询学生表中年龄最大的学生信息

方法1:
select *
from student
where 出生日期<=all(select 出生日期from student);
方法2:
select *
from student
where 出生日期<=(select min(出生日期)from student);

(3)关联子查询

每个组里进行比较时,需要用到关联子查询。

例子:查找出每个课程中,大于对应课程平均成绩的学生

select *
from score as a
where 成绩>(select avg(成绩) from score as b where b.课程号 = a.课程号);

(4)总结

3. SQL运行顺序

4. 如何用SQL解决业务问题

(1)步骤

  • 第1步:翻译成大白话;
  • 第2步:写出分析思路;
  • 第3步:写出对应的sql语句。

(2)例子

哪些学生的成绩比课程0002的全部成绩里的任意一个高呢?

1)第1步:翻译成大白话

  • ①课程0002的全部成绩;
  • ②条件:某个学生的成绩大于任意一个①里的成绩。

2)第2步:写出分析思路

3)第3步:写出对应的sql语句

5. 函数查询

(1)汇总函数

(2)算数函数

(3)字符串函数

(4)日期函数

sql select 输出多行_SQL复杂查询相关推荐

  1. sql同时操作两列_SQL简单查询

    1. 基本的查询语句 selece<列名1>,<列名2>,.... →select子句 from<表名>: →from子句 -- 在student表中查询出姓名.性 ...

  2. 学数据库还不会Select,SQL Select详解,单表查询完全解析?

    查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式> .. ...

  3. sql between包括两端吗_sql:简单查询

    一.基本的查询语句 select 列名1,列名2,... ... #select 字句 from 表名; #from字句 select * from 查询出全部列 为列设定别名 as :在别名是中文时 ...

  4. sql子句的执行顺序_SQL Server查询执行计划– WHERE子句的示例

    sql子句的执行顺序 previous part of this article, we explained how indexes affect SQL Server query execution ...

  5. sql 分号变成多行_SQL(2)

    SQL书写规则 SQL逐条进行,语句以英文分号结尾 SQL 关键词以及表明列名都不区分大小写 列名不能加单引号(列名命名时不能有空格) 只能用英文符号 1.查询语句 Select 列名,列名from ...

  6. sql between包括两端吗_SQL简单查询

    1.SQL简单查询知识点概要: 1. 1基本的查询语句: 1.1 .1 Select<列明1>,<列明2> 1.1.2 From<表名> 1.2. SQL运行数据: ...

  7. mysql 增加合计行_SQL:给查询添加一个合计行

    .数据表t_test id      销售人员id         商品id           数量 id       emp_id            product_id       qty ...

  8. 1.19.7.Table API、SQL、数据类型、保留关键字、查询语句、指定查询、执行查询、语法、操作符、无排名输出优化、去重、分组窗口、时间属性、选择分组窗口的开始和结束时间戳、模式匹配

    1.19.7.Table API 1.19.8.SQL 1.19.8.1.概述 1.19.8.1.1.SQL 1.19.8.1.2.数据类型 1.19.8.1.3.保留关键字 1.19.8.2.查询语 ...

  9. mysql+sql+子查询语句_SQL子查询

    子查询或内部查询或嵌套查询在另一个SQL查询的查询和嵌入式WHERE子句中. 子查询用于返回将被用于在主查询作为条件的数据,以进一步限制要检索的数据. 子查询可以在SELECT,INSERT,UPDA ...

  10. mysql select内部原理_数据库SQL SELECT查询的工作原理

    作为Web开发人员,虽并非专业的DBA,但我们总是离不开数据库.一般开发员只会应用SQL的四条经典语句:select,insert,delete,update.以至于从来没有研究过它们的工作原理,在这 ...

最新文章

  1. spring系统学习:day4--Spring配置: 集合类型属性的注入
  2. ios 原生骨架动画库
  3. TypeScript 3.0 新功能介绍(二)
  4. 【PAT甲级 大整数BigInteger】1065 A+B and C (64bit) (20 分) Java 全部AC
  5. Error(s) in loading state_dict for ResNet 问题解决
  6. 电脑微信不用手机确认_不用安装第三方软件,手机投屏到电脑就这么简单
  7. sql 解析 java_将Java 8流解析为SQL
  8. 前端学习(2979):vue-element-admin结构always:true始终显示
  9. 2021高考成绩查询时间福州,福州2021高考填志愿入口
  10. Qt笔记-QCryptographicHash摘要算法调用(MD5,SHA等)
  11. 用CubeSLAM跑自己的数据集
  12. 如何下载微信视频号的视频?教你三种方法,一分钟轻松解决
  13. AAAI2021知识图谱论文集
  14. vhd虚拟机安装linux,总算搞定vhd的linux了(包括深度linux),给像我一样的菜鸟总结一下.........
  15. cer证书的命令导入
  16. 【内存】UDIMM、RDIMM、SODIMM以及LRDIMM的区别
  17. 实现表格内容第一行居中,其他行与第一行左对齐
  18. tomcat7的下载和安装配置
  19. 我的世界java甘蔗机_我的世界全自动甘蔗机器制作教程
  20. python排版word文档命令方法大全_简易常用Word文档使用技巧方法大全(超全).doc

热门文章

  1. Reflector使用手记
  2. 1.微服务:从设计到部署 --- 简介
  3. 3.docker run / create
  4. 143.根据文件头判断类型
  5. 65. magent 手动创建用户
  6. 1.2 Zend_Acl (2)
  7. 百度地图API常规应用十功能
  8. 计算机一级a河北,2009年河北省计算机一级考试A卷
  9. 华为平板鸿蒙评测,华为平板首发鸿蒙系统,Matepad Pro2 跑分首曝
  10. android 删除wifi文件,如何删除无线配置文件