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 概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的 ...
随机推荐
- mybatis缓存,包含一级缓存与二级缓存,包括ehcache二级缓存
一,引言 首先我们要明白一点,缓存所做的一切都是为了提高性能.明白了这一点下面我们开始进入正题. 二,mybatis缓存概要 ①.mybatis的缓存有两种,分别是一级缓存和二级缓存.两者都属于查询缓 ...
- Docker深入浅出系列 | 容器数据持久化
Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...
- leetcode--js--Two Sum
问题描述: 给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = ...
- jvm 内存结构
jvm 内存结构 graph TB A(jvm)-->E(类加载器系统) A-->B(运行时数据区) A-->D(本地库接口) A-->C(执行引擎) B-->虚拟机栈 ...
- SAP S4HANA里委外加工采购功能的变化
SAP S4HANA里委外加工采购功能的变化 [Part 1:主要变化点] 1.1,采购订单界面上的变化, 1.2, 新的事务代码: ME2ON (Subcontracting Cockpit), 1 ...
- EF--EntityState相互转换
EF对数据做什么样的操作,是根据EF的上下文实体状态决定,实体状态有以下5种状态,下面我们就分别看下这5种状态 数据准备,我们看到学生表里有20000名学生记录,最后1位学生的学生编号为0000020 ...
- MySQL基础(2) | 数据库、数据表
MySQL基础(2) | 数据库.数据表 基本语法 数据库 #创建 CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET u ...
- mysql必知必会--使用MySQL
连接 在具有可供使用的MySQL DBMS和客户机软件之后,有必要简要讨 论一下如何连接到数据库. MySQL与所有客户机 - 服务器DBMS一样,要求在能执行命令之前登 录到DBMS.登录名可以与网 ...
- Integer使用==做判断遇到的问题
问题: 最近使用Integer类型的数据做判断时,遇到了一个神奇的问题. 如: Integer a=223; Integer b=223; 这样使用==做判断,得到的结果是 false 原因: 后来查 ...
- luogu P3834 【模板】可持久化线段树 1(主席树) 查询区间 [l, r] 内的第 k 小/大值
————————————————版权声明:本文为CSDN博主「ModestCoder_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https:// ...