依旧准备好三张有关联的表格:学生表t_student,班级表t_class,成绩表t_grade

回顾:多表联查,select a.id,a.sname,b.cname,c.chinese,c.math,c.english from tstudent a a join t_class b on a.cid=b.id join t_grade c on c.sid = a.id where c.chinese>100

一,sql分组group by的运用

问:假设统计以班级为分组,两个班级的平均分

输入命令:select b.cname,avg(c.chinese+c.math+c.english) a from tstudent a a join t_class b on a.cid=b.id join t_grade c on c.sid group by b.cname;

注意:分组group by 必须和聚合函数配合使用,不能单独用

问:查询出男女的人数和男女中最大的年龄

问:查询出同名的人

注意:添加条件时,筛选分组后的数据用having,筛选分组前的用where

问:统计出每个班的语文成绩大于100分的同学的语文平均分,并只显示平均分高于110的班级

二,数据排序order by的运用

正序:asc(可省略) 倒序:desc

问:将学生表的学生按照年龄倒序排序

三,限制数据显示limit的运用

如:select * from t_student limit 0,5

0,代表从哪条开始显示,5,表示显示多少条(0可省略)

问:统计出每个班语文平均分成绩大于100的同学的班级语文平均分,然后显示出平均分最高的班级

四,条件语句case when ...then... end 的运用

问:30岁以内显示青年,30-60显示壮年,60以上显示老年

剩余可以用else

五,多表联查的方式

1,内连接(join): 显示的数据是取自两表的交集(只显示两表关联的上的字段)

2,外连接:取自两表的并集

左连接(left join):显示左表的所有数据和两表关联上的数据

右连接(right join):显示右表的所有数据和两表关联上的数据

六,嵌套查询

通过 把查询结果作为表/条件/列 进行查询

如:

两个sql交集_sql的高级命令运用相关推荐

  1. 两个sql交集_如何使用性能分析工具定位SQL执行慢的原因?

    在前面的文章中就讲过了查询优化器,知道在查询优化器中会经历逻辑查询优化和物理查询优化.需要注意的是,查询优化器只能在已经确定的情况下(SQL 语句.索引设计.缓冲池大小.查询优化器参数等)决定最优的查 ...

  2. 两个sql交集_数据库(sql)关键字

    1.order by关键字 作用:用于对查询结果排序. 用法:利用asc(升序)和desc(降序)进行排序. (升序) (降序) 当排序列的值相同时可在后面添加备用排序选项(如图) 2.集合操作 2. ...

  3. 两个sql交集_神奇的 SQL 之性能优化 → 让 SQL 飞起来

    写在前面 在像 Web 服务这样需要快速响应的应用场景中,SQL 的性能直接决定了系统是否可以使用:特别在一些中小型应用中,SQL 性能更是决定服务能否快速响应的唯一标准 严格地优化查询性能时,必须要 ...

  4. 两个sql交集_简单明了的sql基础语句

    一,数据库及表的增删改查 查看所有数据库:show databases; 切换到xxx库:use xxx; 查看库中所有的表:show tables; 查看表结构:desc 表名; 数据库创建:cre ...

  5. declare sql语句_SQL高级知识——动态SQL

    在介绍动态SQL前我们先看看什么是静态SQL 静态SQL 静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的.静 ...

  6. SQL查询两个时间交集区的多种方法

    SQL查询两个时间交集区 **1** SELECT * FROM t_work_sheet WHERE plan_end_date >= '2021-06-28' AND plan_start_ ...

  7. 第四章 SQL*plus介绍、常用命令

    一   SQL*plus 常用命令 oracle11g  登录sqlplus两种方式 1,scott@orcl 密码: 2,  scott /system@orcl 常用命令: 使用查询.插入.删除. ...

  8. nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂

    在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭,像一些高级点的命令,比如说Xargs 命令.管道命令 ...

  9. 收集很实用的 Linux 高级命令

    前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭. 像一些高级点的命令,比如说 Xargs 命令 ...

最新文章

  1. linux 命令博客,Linux 命令
  2. python所有文件都能用文本方式打开_python 打开文件方式讲解、常用读写操作指令(全)以及读写常见问题...
  3. 细胞自动机 通用计算机,细胞自动机
  4. win8改win7 教程
  5. Struts2中EL表达式的取值范围问题
  6. MySQL学习笔记:SQL基本语法
  7. B2B2C-2 品牌管理-2-品牌列表的实现
  8. 有没有软件能限制cpu的使用符合_电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法...
  9. C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
  10. 下载虚拟机安装linux镜像(图形化)
  11. 世界顶级图表-华尔街日报配色方案详解
  12. python控制电机转动_使用python,通过串口ROS直接控制电机驱动器(6)
  13. Elasticsearch bank account测试数据
  14. DirectX加速不可用、已禁用的解决方法(转载)
  15. 【企业微信】自建应用可信域名验证
  16. 一、初识FreeRTOS之FreeRTOS简介
  17. Jenkins系列之——第四章 Jenkins编译一个Web项目并远程发布到Tomcat
  18. 中国象棋游戏Chess(3) - 实现走棋规则
  19. CSS3做齿轮旋转的动画
  20. 前端、后台、客户端以及服务器

热门文章

  1. antd radio设置默认选中_单选框radio总结(获取值、设置默认选中值、样式)
  2. 数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码
  3. php mysql 平均分_平均评级计算mysql php
  4. Python递归通用接口响应深层提取
  5. Python字典(Dictionary)的setdefault()方法的详解,字典中的赋值技巧
  6. 如何利用navicat可视化软件添加与新建mysql数据库
  7. 同步异步 阻塞非阻塞
  8. synchronized(九)
  9. Delphi TXLSReadWriteII导出Excel
  10. MySql5.6版修改用户登录密码