当前位置:网站首页>MySQL 高级(进阶) SQL 语句 (一)
MySQL 高级(进阶) SQL 语句 (一)
2022-07-31 08:27:00 【m0_67403188】
目录
- 环境:创建表
- 一、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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Modular specifications
- 【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
- @RequestBody和@RequestParam区别
- 期刊投递时的 Late News Submission 是什么
- 【idea 报错】 无效的目标发行版:17 的解决参考
- [MySQL exercises] Chapter 4 · Explore operators in MySQL with kiko
- 数组every和some方法的区别?
- 手写promise
- vscode输出中文乱码问题
- SSM framework explanation (the most detailed article in history)
猜你喜欢

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
![[MySQL exercises] Chapter 5 · SQL single table query](/img/11/66b4908ed8f253d599942f35bde96a.png)
[MySQL exercises] Chapter 5 · SQL single table query

TypeError The view function did not return a valid response. The function either returned None 的解决

Cloud server deployment web project

SQL join table (inner join, left join, right join, cross join, full outer join)

【云原生】微服务之Feign的介绍与使用

Flutter Paystack implements all options

MySQL 日期时间类型精确到毫秒

【MySQL功法】第2话 · 数据库与数据表的基本操作

Install the deployment kubernetes KubeSphere management
随机推荐
求职产品经理【九】求职季,如何写好一份简历?
搭建frp进行内网穿透
C语言三子棋(井字棋)小游戏
SQLAlchemy使用教程
MUI获取相机权限
How to Install MySQL on Linux
JSP application对象简介说明
剑指offer-解决面试题的思路
Vue项目通过node连接MySQL数据库并实现增删改查操作
【pytorch记录】pytorch的分布式 torch.distributed.launch 命令在做什么呢
【云原生】微服务之Feign的介绍与使用
[Mini Program Project Development--Jingdong Mall] Custom Search Component of uni-app (Part 1)--Component UI
MySQL 5.7详细下载安装配置教程
TypeError The view function did not return a valid response. The function either returned None 的解决
PowerCLi 一键批量部署OVA 到esxi 7
控制文本保留几行,末尾省略
JSP session的生命周期简介说明
How on one machine (Windows) to install two MYSQL database
51单片机-----外部中断
功能强大的国产Api管理工具