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)的更多相关文章

  1. mysql如何查找某字段所在表

    如果是5.0以上的,以root用户连接,可以看到一个叫information_schema的表, 然后只要:use information_schema; select `TABLE_NAME`fro ...

  2. 3. powerdesigner 生成mysql脚本,要求字段、表名有注释

    1.字段注释设置 : 在 pdm 视图中,Database --> Edit Current DBMS. 找到 MySql5.0 --> Script --> Objects --& ...

  3. Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  4. 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)

    开心一刻 我:嗨,老板娘,有冰红茶没 老板娘:有 我:多少钱一瓶 老板娘:3块 我:给我来一瓶,给,3块 老板娘:来,你的冰红茶 我:玩呐,我要冰红茶,你给我个瓶盖干哈? 老板娘:这是再来一瓶,我家卖 ...

  5. 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程

    问题背景 对于 MySQL 的 JOIN,不知道大家有没有去想过他的执行流程,亦或有没有怀疑过自己的理解(自信满满的自我认为!):如果大家不知道怎么检验,可以试着回答如下的问题 驱动表的选择 MySQ ...

  6. 联表多字段update更新语句

    前言 最近需要写联表多字段update更新语句,发现不同的数据库,SQL语法也不一样,正好我这里有MySQL.Oracle.PgSQL三种数据库环境,分别练习.实操这三种数据库的联表update语句 ...

  7. 解决MySQL联表时出现字符集不一样

    mysql 建表时都会设置表的字符集和排序规则,通常是 utf8,不过我这边习惯建表的字符集是 utf8mb4,排序规则是 utf8mb4_unicode_ci.有些 utf8mb4 的表默认排序规则 ...

  8. MYSQL一次千万级连表查询优化

    概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上. 这个S ...

  9. MYSQL一次千万级连表查询优化(一)

    摘自网上学习之用 https://blog.csdn.net/Tim_phper/article/details/78344444 概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的 ...

随机推荐

  1. zabbix性能问题

    在我们的zabbixserver端主机数量过多时,如果由server端去收集数据,zabbix会出现严重的性能问题,主要的表现有: 1.当被监控端达到一个量级的时候,web操作会卡,容易出现502 2 ...

  2. 自动化测试中,cookie的调用方法。

    以cookie为例 方法一: 将返回的cookie写到setUp()中,每次执行用例之前就会调用一次. 如: class AA(unittest.TestCase): def setUp(self): ...

  3. 智和网管平台SugarNMS赋能AI智能化运维

    11月14日,由<网络安全和信息化>和IT运维网联合主办的2019(第十届) IT运维大会上海站在锦荣国际大酒店如期召开.运维领域权威专家.技术领袖.各类运维相关技术产品提供商及服务商共同 ...

  4. UnsupportedClassVersionError : 不支持的类版本错误

    UnsupportedClassVersionError : 不支持的类版本错误 listenerStart配置类的应用程序侦听器时出错 listenerStart Error configuring ...

  5. SVN状态图标不显示的解决办法

    第一步:检查设置 右键->TortoiseSVN->setting->Icon Overlays->Status cache->default/Shell.或者 右键-& ...

  6. MySQL导出数据时提示文件损坏

    使用Navicat工具,优先将整个数据库的表和数据导出. 如果遇到文件损坏错误可以在表实例界面选中所有表,然后将表转储为SQL文件(结构和数据). 在目标数据库执行导出的SQL文件,导入结构和数据. ...

  7. mysql简单备份与恢复

    1.备份 mysqldump -u root -h 127.0.0.1 -p --set-gtid-purged=OFF  abc > /data/mysqlBak/abc_20200206.s ...

  8. Python——面向对象,简易学生信息管理系统

    一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...

  9. Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...

  10. 修改计算机名并更新sqlserver中存储的服务器名称

    1.  查看计算机名use master    go     select @@servername   select serverproperty('servername') 2.同步更新SQLse ...