mysql desc select_MySQL的select详细介绍

2023-11-20 22:50

本文主要是介绍mysql desc select_MySQL的select详细介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。

你可以通过 mysql> 命令提示窗口中在数据库中查询数据

语法

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name

FROM table_name

[WHERE Clause]

[LIMIT N][ OFFSET M]

查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

SELECT 命令可以读取一条或者多条记录。

你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

你可以使用 WHERE 语句来包含任何条件。

你可以使用 LIMIT 属性来设定返回的记录数。

你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

建一张表用于我们测试:

create table student

(

ids int auto_increment primary key,

name varchar(20),

chinese float,

english float,

math float

);

插入如下数据:

insert into student values(1,'李明',89,78,90);

insert into student values(2,'乘风',67,89,56);

insert into student values(3,'南宫流云',87,78,77);

insert into student values(4,'南宫皓月',88,98,90);

insert into student values(5,'南宫紫月',82,84,67);

insert into student values(6,'萧炎',55,85,45);

insert into student values(7,'林动',75,65,30);

aca503ef7ed0acb7a4625c711aafd6ab.png

1、指定查询列

mysql> select id,name,chinese from student;

e85cbb3d50699d81e46be52acf4d8141.png

2、去重查询

用distinct关键字, 如果结果中有完全相同的行,就去除重复行

mysql> select distinct math from student;

82fc2649686f79552284b166c0f3eb75.png

3、select语句中进行运算

查询学生总成绩

mysql> select id,name,(chinese+math+english) as 总成绩 from student;

43033ca80171321a358b4acbe20ddfe1.png

查询所有姓南宫人的总成绩。

mysql> select id,name,(chinese+math+english) as 总成绩 from student

-> where name like '南宫%';

8b1226f66cd87952fb4ca1c63bcdee6d.png

4、where查询过滤

在where子句中有很多经常使用的运算符,如下:

b458ffaa9ab0ce18df5754a6bcdd0af3.png

(1)查询所有英语成绩大于90的同学成绩:

mysql> select id,name,english as 英语 from student

-> where english > 90;

5e9bc647604bd0bddad45b233a74b540.png

(2)查询所有总分大于200分的同学

注意:where子句后不能用别名

因为数据库中先执行where子句,再执行select子句。

mysql> select id,name,(chinese+math+english) as 总成绩 from student

-> where (chinese+math+english) > 200;

2b23acfaaffa6942597d1b2ed89925ee.png

(3)查询姓林并且id大于6的学生信息

mysql> select id,name from student

-> where name like '林%' and id >6;

6566db06d34ace0020dd8e43c625c954.png

(4)查询英语成绩大于语文成绩的同学

mysql> select id,name from student

-> where english > chinese;

25d7f2f20334151d46b474cbdb136861.png

(5)查询所有总分大于200并且数学成绩小于语文成绩的学生信息

mysql> select id,name from student

-> where (chinese+math+english) >200 and math < chinese;

1aa8d0b459092f36dbe0e25dfab197c6.png

(6)查询所有英语成绩在80到90分的同学

方法一:

mysql> select id,name,english from student

-> where english >=80 and english <= 90;

a69b04c554b55bbc0e10b6fe616430fc.png

方法二:

注意:between是闭区间

mysql> select id,name,english from student

-> where english between 80 and 90;

f0c56fd68e79b806be6cca532d33ebd1.png

(7)查询数学成绩为89,90,91的同学信息

or:

mysql> select id,name,math from student

-> where math=89 or math=90 or math=91;

eaf2bfdffd76e0ac03f83ea9a81a73ce.png

in:

mysql> select id,name,math from student

-> where math in(89,90,91);

0651bc764b9ecfc0dd37d5607385f18b.png

5、order by排序语句

asc升序(默认),desc降序

order by 子句应该位于select语句的结尾

eg:对数学成绩进行排序

默认升序:

mysql> select id,name,math from student

-> order by math;

6238ec8a64657f05fc5833b5ba7544d5.png

降序:

mysql> select id,name,math from student

-> order by math desc;

46b77d024127a28f39bd0fcb250d3af4.png

对总分进行从高到低输出

mysql> select (chinese+math+english) as 总成绩 from student

-> order by 总成绩 desc;

93fcca79bc2d4d82bc8b19e2da13a788.png

6、常用函数

(1)count()

count(*)统计null值 count(列名)排除null值

eg :统计当前student表中一共有多少学生

mysql> select count(*) as 人数 from student;

0d3065c40d220b9c76da2c5dfd695350.png

(2)sum()

eg:统计一个班数学总成绩

mysql> select sum(math) as 数学总成绩 from student;

0b655e28007d319d243436d5c634ec18.png

(3)平均值:avg()

求数学的平均值

mysql> select sum(math)/count(*) as 数学平均值 from student;

2e27db02956042fe26012267a2387606.png

mysql> select avg(math) as 数学平均值 from student;

0459cf9869d465df166026b7640e3a13.png

7、group by 子句的使用

假设有一个职工信息表,

EMP:表名 ;部门:depton;sal:工资;job:工作

我们设想:

(1)显示每个部门的平均工资和最高工资

select deptno,avg(sal),max(sal) from EMP group by deptno;

(2)显示每个部门的每种岗位的平均工资和最低工资

select avg(sal),min(sal),job, deptno from EMP group by deptno, job;

补充:首先按照deptno分组,然后各组再按照job进行分组。

(3)显示平均工资低于2000的部门和它的平均工资

解题思路:

1. 统计各个部门的平均工资

select avg(sal) from EMP group by deptno

2. having往往和group by配合使用,对group by结果进行过滤

select avg(sal) as myavg from EMP group by deptno having myavg<2000;

这篇关于mysql desc select_MySQL的select详细介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/398018

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

mysql中的group by高级用法

《mysql中的groupby高级用法》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,下面给大家介绍mysql中的groupby用法... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1