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 概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的 ...
随机推荐
- PMP-番外篇-PMP工具与技术目录
########################################################### 这里先总结所有工具和技术,让大家有一个整体的概念. 也可以当作一个工具和技术查询 ...
- pip 自己的源 搭建
1 安装工具 pip install pip2pi 2 下载 所需要的包 pip2tgz /application/nginx/html/yum/python/ apscheduler (172 ...
- Git学习笔记(windows git之初体验)
阿里国内镜像地址: https://npm.taobao.org/mirrors/git-for-windows/ 最近在学习廖雪峰老师关于git的教程,链接可以在我的首页找到.首先使用国内镜像下载并 ...
- Linux ps和pstree命令
1. 查看所有进程 ps -eF -e: Select all processes.-F: Extra full format. PSR (Processor)显示进程所在的CPU. 2. 查看所有进 ...
- Django如何连接mysql
1.设置django的mysql驱动为pymysql 因为django默认的是使用MySqlDb连接mysql数据库,但是由于该模块不支持python3.4以上版本,所以使用pymysql模块 在项目 ...
- cisco 路由器的操作系统基础命令集
路由器和交换机里都有操作系统,cisco的操作系统叫ios. 怪不得路由器贵,原来也是带操作系统的机器啊,以前真是小白. ios里的几种模式 1,>:用户模式:啥也干不了. 2,#:特权模式:用 ...
- 纪中21日c组T2 2117. 【2016-12-30普及组模拟】台风
2117. 台风 (File IO): input:storm.in output:storm.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Proble ...
- js监听滚动结束
使用setTimeout模拟滚动结束 let scrollTimer; document.addEventListener("scroll", () => { clearTi ...
- 【spring】(填坑)sql注入攻击 - 持久层参数化
结果 填坑失败,并没有看懂是如何检测sql攻击的. 只能说的是: 建议都使用参数化传递sql语句参数.(所以,用hibernate.mybatis等框架的真不用太担心sql攻击问题.) 前言 本文 ...
- 【Spring】利用spring的JdbcTemplate查询返回结果映射到自定义类型
// org.springframework.jdbc.core.JdbcTemplate 中的查询方法基本都有支持参数RowMapper<T> rowMapper的重载方法.下面只是随便 ...