mysql中有关查询的技巧方法
* 查最高值或者最低值对应行的数据:

查询Score表中的最高分的学生学号和课程号:
两种方法(子查询或者排序):
子查询法:select sno,cno from score where degree = (select max(degree) from score);
分析:
1.查score表中的最高分 select max(degree) from score;
2.查最高分的学号跟课程号 select sno,cno from score where degree = 最高分查询语句;
排序法:select sno,cno from score order by degree desc limit 1; //按照降序排列,取第一条最大的数据
* 查询Score表中至少有5名学生选修的并以3开头的课程的平均分数:(‘至少’,‘至多’问题)
方法一:select avg(degree) from score where cno like '3%' group by cno having count(*)>=5;
分析:
1.以3开头的课程 cno like "3%"
2.学生选修=》以选修课为组 group by cno having count(sno)>=5
方法二:select avg(degree) from score where cno like '3%' and cno in (select cno from score group by cno having count(sno)>=5);
* 查询至少两名男生的班号
方法一:select class from student where ssex='男' group by class having(ssex)>=2;
方法二:select class from student where ssex='男' and ssex in (select ssex from score group by class having(ssex)>=2);
* 查询成绩比该课程平均成绩低的同学的成绩表(特殊链接,关键字 ‘该’)
思路:
1.查询成绩 select degree from score a where degree<'子查询中的平均成绩';
2.子查询平均成绩 select avg(degree) from score b where b.cno=a.cno; 此表中的课程与父表中的课程一致(必要条件)
3.衔接 select degree from score a where degree<(select avg(degree) from score b where b.cno=a.cno);
mysql中有关查询的技巧方法的更多相关文章
- Mysql中分页查询两个方法比较
mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 1 2 3 SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM ...
- 【原创】7. MYSQL++中的查询结果获取(各种Result类型)
在本节中,我将首先介绍MYSQL++中的查询的几个简单例子用法,然后看一下mysqlpp::Query中的几个与查询相关的方法原型(重点关注返回值),最后对几个关键类型进行解释. 1. MYSQL++ ...
- 【面经】面试官:如何以最高的效率从MySQL中随机查询一条记录?
写在前面 MySQL数据库在互联网行业使用的比较多,有些小伙伴可能会认为MySQL数据库比较小,存储不了很多的数据.其实,这些小伙伴是真的不了解MySQL.MySQL的小不是说使用MySQL存储的数据 ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- mysql中如何查询最近24小时、top n查询
MySQL中如何查询最近24小时. where visittime >= NOW() - interval 1 hour; 昨天. where visittime between CURDATE ...
- kibana中信息分类查询显示的方法
1.什么是kibana? kibana是ELK(elasticsearch+logstash+kibana)中的K,它是一个可灵活的分析和可视化平台,主要是显示数据以及根据这些数据绘出一些可视化图表, ...
- mysql中in查询中排序
mysql中in查询条件的时候,很多时候排序是不规则的,如何按照in里面的条件进行排序呢? mysql中给出了办法,在in后面加order by field,order by field的首个条件是按 ...
- mysql 中合并查询结果union用法 or、in与union all 的查询效率
mysql 中合并查询结果union用法 or.in与union all 的查询效率 (2016-05-09 11:18:23) 转载▼ 标签: mysql union or in 分类: mysql ...
- 下面介绍mysql中模糊查询的四种用法:
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
随机推荐
- window 系统虚拟机安装mac系统
前言: 我们用的是虚拟机,物理机安装一是复杂,二是兼容性实在太差,所以不推荐使用,除非你的电脑配置不够.这篇文章很长,如果想安装的话建议收藏,否则你有可能记不住步骤,我尽量缩减步骤,所以如果你想安装黑 ...
- 【题解】Luogu P2763 试题库问题
原题传送门 这题很简单啊 从源点向k类题目分别连流量为所需数量的边 从每道题向汇点连一条流量为1的边(每题只能用1次) 从类型向对应的题目连一条流量为1的边 跑一遍最大流 如果最大流小于所需题目数量, ...
- Echarts整合spring boot进行开发
一.开始前的准备 Echarts官网下载: https://echarts.baidu.com/download.html
- 如何通过代码设置WPF控件的字体,颜色
this.lbTips.Foreground = new SolidColorBrush(Colors.Black); this.lbTips.FontFamily = new FontFamily( ...
- webpack4入门
前提 已安装node(版本号>4.0,已自带NPM) mac机器 有一个空目录 无webpack.config.js配置打包 快速构建package.json文件. npm init -y 安装 ...
- 【IOS】#import和#include有什么区别,@class呢,#import<>跟#import ""有什么区别?
1.#import是object-c导入头文件的关键字,#include是C/c++导入头文件的关键字,使用#import导入头文件会自动只导入一次,不会重复导入. 2.@class是告诉编译器某个类 ...
- FileZilla客户端连接腾讯云FTP服务器时出现“227 Entering Passive Mode”
FTP的主动模式(PORT Mode)及被动模式(Passive Mode) FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯. ...
- Kotlin 基础语法
Kotlin 文件以 .kt 为后缀. 包声明 代码文件的开头一般为包的声明: package com.runoob.main import java.util.* fun test() {} cla ...
- 继承ActionSupper类报错 --Struts2
如下图所示,继承ActionSupper类报错: 原因:缺少Struts2中JAR包,具体是:
- Centos 中 service iptables stop 失败
Centos7中的防火墙调整为firewalld,试一下systemctl stop firewalld关闭防火墙.