当前位置:网站首页>MySQL 高级(进阶) SQL 语句 (一)
MySQL 高级(进阶) SQL 语句 (一)
2022-08-02 14:27:00 【xiaoweiwei99】
目录
- 环境:创建表
- 一、order by语句
- 二、升序与降序(ASC和DESC)
- 三、select查询
- 四、and/or-且/或
- 五、where
- 六、distinct(查询不重复记录)
- 七、group by(对结果进行分组)
- 八、limit
- 九、alias(设置别名)
环境:创建表
mysql> show databases;
mysql> use kgc
mysql> show tables;
mysql> create table ky19;
mysql> create table ky19 (id int,name varchar(10)primary key not null,score decimal(5,2),address varchar(20),hobbid int(5));
mysql> insert into ky19 values(1,'zhusang',100,'riben',2);
mysql> insert into ky19 values(2,'liangsang',59.89,'taiguo',2);
mysql> insert into ky19 values(3,'wusang',80,'miandian',3);
mysql> insert into ky19 values(4,'chenbao',99,'ouzhou',4);
mysql> insert into ky19 values(5,'gangzi',88,'hanguo',5);
mysql> insert into ky19 values(6,'xiangxi',66,'shanghai',3);
mysql> insert into ky19 values(7,'jianjian',87,'cv',6);
mysql> select * from ky19;
一、order by语句
(增、删、改、查)
对MysQL数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。例如只取10条数据、对查询结果进行排序或分组等等。
按关键字排序
PS:类比于windows任务管理器,使用SELECT语句可以将需要的数据从MySQL数据库中查询出来,如果对查询的结果进行排序,可以使用ORDER BY语句来对语句实现排序,并最终将排序后的结果返回给用户。这个语句的排序不光可以针对某一个字段,也可以针对多个字段
语法
SELECT column1,column2,... FROM table_name ORDER BY column1,column2,...
---- ORDER BY ----按关键字排序
语法:SELECT "栏位" FROM "表名" [WHERE "条件"] ORDER BY "栏位" [ASC, DESC];
#ASC 是按照升序进行排序的,是默认的排序方式。
#DESC 是按降序方式进行排序。
二、升序与降序(ASC和DESC)
ASC:
是按照升序进行排序的,是默认的排序方式,即ASC可以省略。SELECT语句中如果没有指定具体的排序方式,则默认按ASC方式进行排序。
DESC:
是按降序方式进行排列。当然 ORDER BY前面也可以使用WHERE子句对查询结果进一步过滤。
三、select查询
---- SELECT ----显示表格中一个或数个栏位的所有资料
语法:SELECT "字段" FROM "表名";
SELECT Store_Name FROM Store_Info;
四、and/or-且/或
---- AND OR ----且 或
语法:SELECT "字段" FROM "表名" WHERE "条件1" {[AND|OR] "条件2"}+ ;
SELECT Store_Name FROM Store_Info WHERE Sales > 1000 OR (Sales < 500 AND Sales > 200);
五、where
--- WHERE ----有条件查询
语法:SELECT "字段" FROM "表名" WHERE "条件";
六、distinct(查询不重复记录)
---- DISTINCT ----不显示重复的资料
语法:SELECT DISTINCT "字段" FROM "表名";
SELECT DISTINCT Store_Name FROM Store_Info;
定义两个字段 name,hobbid以name作为计数统计,查询表中score大于等于80的进行hobbid分组
七、group by(对结果进行分组)
通过SQL查询出来的结果,还可以对共进行分组,使用GROUP BY 语句来实现,GROUP BY通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数( COUNT) 、求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),GROUP BY分组的时候可以按一个或多个字段对结果进行分组处理。
语法
SELECT column_name,aggregate_function (column_name)FROM table_name WHERE column_nameoperator valueGROUP BY column name;
---- GROUP BY ----对GROUP BY后面的栏位的查询结果进行汇总分组,通常是结合聚合函数一起使用的
GROUP BY 有一个原则,就是 SELECT 后面的所有列中,没有使用聚合函数的列,必须出现在GROUP BY后面。
语法:SELECT "字段1", SUM("字段2") FROM "表名" GROUP BY "字段1";
八、limit
限制结果条目( limit )
limit限制输出的结果记录
在使用MySQL SELECT语句进行查询时,结果集返回的是所有匹配的记录(行)。有时候仅需要返回第一行或者前几行,这时候就需要用到LIMIT子句。
语法
SELECT column1,column2,... FROM table_name LIMIT [offset, ] number
LIMIT的第一个参数是位置偏移量(可选参数),是设置 MysQL从哪一行开始显示。如果不设定第一个参数,将会从表中的第一条记录开始显示。需要注意的是,第一条记录的位置偏移量是0,第二条是1,以此类推。第二:个参数是设置返回记录行的最大数目。
九、alias(设置别名)
设置别名( alias ——》as )
在MysQL查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者
多次使用相同的表,"可以给字段列或表设置别名。使用的时候直接使用别名,简洁明了,增强可读性
语法
对于列的别名:SELECT column_name AS alias_name FROM table_name;
对于表的别名:SELECT column_name (s)FROM table_name As alias_name;
在使用AS 后,可以用alias_name代替table_name,其中 As i语句是可选的。AS之后的别名,主要是为表内的列或者表提供临时的名称,在查而过程中使用,库内实际的表名或字段名是不会被改变的
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”
- 散列表简述
- 基于mobileNet实现狗的品种分类(迁移学习)
- scroll、offset、client事件的用法及区别
- 为什么四个字节的float表示的范围比八个字节的long要广
- 第六章-6.1-堆-6.2-维护堆的性质-6.3-建堆
- 2022-07-23 第六小组 瞒春 学习笔记
- 2021 Huawei Cup Mathematical Modeling Contest E question - Ultra-Wideband (UWB) precise positioning problem under signal interference
- 【无标题】
- 2022-07-29 第六小组 瞒春 学习笔记
猜你喜欢
随机推荐
语音直播系统——做好敏感词汇屏蔽打造绿色社交环境
初识art-template模板引擎
有效的括号【暴力、分支判断、哈希表】
vite.config.ts introduces the `path` module Note!
为什么四个字节的float表示的范围比八个字节的long表示的范围要广
《数字经济全景白皮书》银行业智能风控科技应用专题分析 发布
2022-07-25 第六小组 瞒春 学习笔记
为什么四个字节的float表示的范围比八个字节的long要广
数据库性能优化的误区!
中国服装行业已形成一套完整的产业体系
codeforces k-Tree (dp仍然不会耶)
2022年安全员-A证考试试题及模拟考试
移除元素 - 双指针
集成电路实践----D触发器
【JS执行机制】
【Leetcode字符串--字符串变换/进制的转换】HJ1.字符串最后一个单词的长度 HJ2.计算某字符出现次数 HJ30.字符串合并处理
如何正确且快速的清楚C盘!!释放C盘空间内存保姆级教程
异常简单总结
【无标题】
什么是Knife4j?