MySQL的选则字段+联表+判断+排序(order by)
MySQL的选则字段+联表+判断+排序(order by)
两个表:1、成绩单 2、查询名单
目标:
1、选中全部字段,用于输出。
2、成绩单中有很多人的成绩,第一步是希望通过联表,只查查询名单上的人的成绩。
3、得到查询名单上的人的成绩后,只选择科目1的成绩输出,不要输出科目2的成绩。
4、按科目1考试成绩,降序输出。
成绩单表如下:
| 学号 | 考试成绩 | 科目 |
|---|---|---|
| 1001 | 94 | 科目1 |
| 1001 | 74 | 科目1 |
| 1001 | 85 | 科目1 |
| 1001 | 99 | 科目2 |
| 1001 | 84 | 科目2 |
| 1002 | 95 | 科目1 |
| 1002 | 94 | 科目1 |
| 1002 | 89 | 科目1 |
| 1002 | 96 | 科目1 |
| 1002 | 100 | 科目2 |
| 1002 | 96 | 科目2 |
| 1002 | 74 | 科目2 |
| 1003 | 84 | 科目1 |
| 1003 | 90 | 科目1 |
| 1003 | 88 | 科目2 |
查询名单表如下:
| 学号 | 姓名 |
|---|---|
| 1001 | 小红 |
| 1002 | 小亮 |
1. 选中全部字段,用于输出。
2、成绩单中有很多人的成绩,第一步是希望通过联表,只查查询名单上的人的成绩。
1和2合二为一,完整代码:
SELECT `成绩单`.`学号`,`姓名`,`考试成绩`,`科目`
FROM `成绩单`
INNER JOIN `查询名单`
ON `成绩单`.`学号`=`查询名单`.`学号`
其中:由于两个表中都有学号这个字段,所以要指定字段,因此:查询名单.学号
效果为:

3、得到查询名单上的人的成绩后,只选择科目1的成绩输出,不要输出科目2的成绩。
完整代码:
SELECT `成绩单`.`学号`,`姓名`,`考试成绩`,`科目`
FROM `成绩单`
INNER JOIN `查询名单`
ON `成绩单`.`学号`=`查询名单`.`学号`
WHERE `科目`='科目1'
效果:

4、按科目1的考试成绩,降序输出。
SELECT `成绩单`.`学号`,`姓名`,`考试成绩`,`科目`
FROM `成绩单`
INNER JOIN `查询名单`
ON `成绩单`.`学号`=`查询名单`.`学号`
WHERE `科目`='科目1'
ORDER BY `考试成绩` DESC
效果:

MySQL的选则字段+联表+判断+排序(order by)的更多相关文章
- mysql如何查找某字段所在表
如果是5.0以上的,以root用户连接,可以看到一个叫information_schema的表, 然后只要:use information_schema; select `TABLE_NAME`fro ...
- 3. powerdesigner 生成mysql脚本,要求字段、表名有注释
1.字段注释设置 : 在 pdm 视图中,Database --> Edit Current DBMS. 找到 MySql5.0 --> Script --> Objects --& ...
- Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题
Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...
- 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)
开心一刻 我:嗨,老板娘,有冰红茶没 老板娘:有 我:多少钱一瓶 老板娘:3块 我:给我来一瓶,给,3块 老板娘:来,你的冰红茶 我:玩呐,我要冰红茶,你给我个瓶盖干哈? 老板娘:这是再来一瓶,我家卖 ...
- 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程
问题背景 对于 MySQL 的 JOIN,不知道大家有没有去想过他的执行流程,亦或有没有怀疑过自己的理解(自信满满的自我认为!):如果大家不知道怎么检验,可以试着回答如下的问题 驱动表的选择 MySQ ...
- 联表多字段update更新语句
前言 最近需要写联表多字段update更新语句,发现不同的数据库,SQL语法也不一样,正好我这里有MySQL.Oracle.PgSQL三种数据库环境,分别练习.实操这三种数据库的联表update语句 ...
- 解决MySQL联表时出现字符集不一样
mysql 建表时都会设置表的字符集和排序规则,通常是 utf8,不过我这边习惯建表的字符集是 utf8mb4,排序规则是 utf8mb4_unicode_ci.有些 utf8mb4 的表默认排序规则 ...
- MYSQL一次千万级连表查询优化
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上. 这个S ...
- MYSQL一次千万级连表查询优化(一)
摘自网上学习之用 https://blog.csdn.net/Tim_phper/article/details/78344444 概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的 ...
随机推荐
- zabbix性能问题
在我们的zabbixserver端主机数量过多时,如果由server端去收集数据,zabbix会出现严重的性能问题,主要的表现有: 1.当被监控端达到一个量级的时候,web操作会卡,容易出现502 2 ...
- 自动化测试中,cookie的调用方法。
以cookie为例 方法一: 将返回的cookie写到setUp()中,每次执行用例之前就会调用一次. 如: class AA(unittest.TestCase): def setUp(self): ...
- 智和网管平台SugarNMS赋能AI智能化运维
11月14日,由<网络安全和信息化>和IT运维网联合主办的2019(第十届) IT运维大会上海站在锦荣国际大酒店如期召开.运维领域权威专家.技术领袖.各类运维相关技术产品提供商及服务商共同 ...
- UnsupportedClassVersionError : 不支持的类版本错误
UnsupportedClassVersionError : 不支持的类版本错误 listenerStart配置类的应用程序侦听器时出错 listenerStart Error configuring ...
- SVN状态图标不显示的解决办法
第一步:检查设置 右键->TortoiseSVN->setting->Icon Overlays->Status cache->default/Shell.或者 右键-& ...
- MySQL导出数据时提示文件损坏
使用Navicat工具,优先将整个数据库的表和数据导出. 如果遇到文件损坏错误可以在表实例界面选中所有表,然后将表转储为SQL文件(结构和数据). 在目标数据库执行导出的SQL文件,导入结构和数据. ...
- mysql简单备份与恢复
1.备份 mysqldump -u root -h 127.0.0.1 -p --set-gtid-purged=OFF abc > /data/mysqlBak/abc_20200206.s ...
- Python——面向对象,简易学生信息管理系统
一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...
- Python基础知识总结笔记(四)函数
Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...
- 修改计算机名并更新sqlserver中存储的服务器名称
1. 查看计算机名use master go select @@servername select serverproperty('servername') 2.同步更新SQLse ...