两个sql交集_sql的高级命令运用
依旧准备好三张有关联的表格:学生表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的高级命令运用相关推荐
- 两个sql交集_如何使用性能分析工具定位SQL执行慢的原因?
在前面的文章中就讲过了查询优化器,知道在查询优化器中会经历逻辑查询优化和物理查询优化.需要注意的是,查询优化器只能在已经确定的情况下(SQL 语句.索引设计.缓冲池大小.查询优化器参数等)决定最优的查 ...
- 两个sql交集_数据库(sql)关键字
1.order by关键字 作用:用于对查询结果排序. 用法:利用asc(升序)和desc(降序)进行排序. (升序) (降序) 当排序列的值相同时可在后面添加备用排序选项(如图) 2.集合操作 2. ...
- 两个sql交集_神奇的 SQL 之性能优化 → 让 SQL 飞起来
写在前面 在像 Web 服务这样需要快速响应的应用场景中,SQL 的性能直接决定了系统是否可以使用:特别在一些中小型应用中,SQL 性能更是决定服务能否快速响应的唯一标准 严格地优化查询性能时,必须要 ...
- 两个sql交集_简单明了的sql基础语句
一,数据库及表的增删改查 查看所有数据库:show databases; 切换到xxx库:use xxx; 查看库中所有的表:show tables; 查看表结构:desc 表名; 数据库创建:cre ...
- declare sql语句_SQL高级知识——动态SQL
在介绍动态SQL前我们先看看什么是静态SQL 静态SQL 静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的.静 ...
- SQL查询两个时间交集区的多种方法
SQL查询两个时间交集区 **1** SELECT * FROM t_work_sheet WHERE plan_end_date >= '2021-06-28' AND plan_start_ ...
- 第四章 SQL*plus介绍、常用命令
一 SQL*plus 常用命令 oracle11g 登录sqlplus两种方式 1,scott@orcl 密码: 2, scott /system@orcl 常用命令: 使用查询.插入.删除. ...
- nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂
在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭,像一些高级点的命令,比如说Xargs 命令.管道命令 ...
- 收集很实用的 Linux 高级命令
前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭. 像一些高级点的命令,比如说 Xargs 命令 ...
最新文章
- linux 命令博客,Linux 命令
- python所有文件都能用文本方式打开_python 打开文件方式讲解、常用读写操作指令(全)以及读写常见问题...
- 细胞自动机 通用计算机,细胞自动机
- win8改win7 教程
- Struts2中EL表达式的取值范围问题
- MySQL学习笔记:SQL基本语法
- B2B2C-2 品牌管理-2-品牌列表的实现
- 有没有软件能限制cpu的使用符合_电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法...
- C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
- 下载虚拟机安装linux镜像(图形化)
- 世界顶级图表-华尔街日报配色方案详解
- python控制电机转动_使用python,通过串口ROS直接控制电机驱动器(6)
- Elasticsearch bank account测试数据
- DirectX加速不可用、已禁用的解决方法(转载)
- 【企业微信】自建应用可信域名验证
- 一、初识FreeRTOS之FreeRTOS简介
- Jenkins系列之——第四章 Jenkins编译一个Web项目并远程发布到Tomcat
- 中国象棋游戏Chess(3) - 实现走棋规则
- CSS3做齿轮旋转的动画
- 前端、后台、客户端以及服务器
热门文章
- antd radio设置默认选中_单选框radio总结(获取值、设置默认选中值、样式)
- 数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码
- php mysql 平均分_平均评级计算mysql php
- Python递归通用接口响应深层提取
- Python字典(Dictionary)的setdefault()方法的详解,字典中的赋值技巧
- 如何利用navicat可视化软件添加与新建mysql数据库
- 同步异步 阻塞非阻塞
- synchronized(九)
- Delphi TXLSReadWriteII导出Excel
- MySql5.6版修改用户登录密码