MySQL一些常用高级SQL语句

对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。例如只取 10 条数据、对查询结果进行排序或分组等等,今天就给大家分享MySQL一些常用高级SQL语句,感兴趣的朋友一起看看吧

MySQL高级SQL语句

 use kgc; create table location (Region char(20),store_name char(20)); insert into location values ('East','Boston') ; insert into location values ('East','New York'); insert into location values ('west','Los Angeles'); insert into location values ('west','Houston') ;

在这里插入图片描述

 create table Store_Info (Store_Name char(20),sales int(10),Date char(10)); insert into Store_Info values ('Los Angeles','1500','2020-12-05'); insert into Store_Info values ('Houston','250','2020-12-07'); insert into Store_Info values ('Los Angeles','300','2020-12-08'); insert into Store_Info values ('Boston','700','2020-12-08');

在这里插入图片描述

SELECT

 ---- SELECT ---- 显示表格中一个或数个栏位的所有资料 语法: SELECT "栏位" FROM "表名"; SELECT Store_Name FROM Store_Info;

在这里插入图片描述

DISTINCT

 ---- DISTINCT ---- 不显示重复的资料 语法: SELECT DISTINCT "栏位" FROM "表名"; SELECT DISTINCT Store_Name FROM Store_Info;

在这里插入图片描述

WHERE

 ---- WHERE ---- 有条件查询 语法:SELECT "栏位” FROM "表名" WHERE "条件"; SELECT Store_Name FROM Store_Info WHERE Sales > 1000;

在这里插入图片描述

AND OR

 ---- AND OR ---- 且 或 语法:SELECT "栏位" FROM "表名” WHERE "条件1" {[ANDIOR] "条件2"}+; SELECT Store_Name FROM Store_Info WHERE Sales > 1000 OR (Sales <500 and sales> 200);

在这里插入图片描述

IN

 ---- IN ---- 显示己知的值的资料 语法: SELECT "栏位" FROM "表名" WHERE "栏位" IN ('值1','值2', ...); SELECT * FROM Store_Info WHERE Store_Name IN ('Los Angeles','Houston');

在这里插入图片描述

BETWEEN

 ---- BETWEEN ---- 显示两个值范围内的资料 语法:SELECT "栏位" FROM "表名" WHERE "栏位" BETWEEN '值1' AND '值2'; SELECT * FROM Store_Info WHERE Date BETWEEN '2020-12-06' AND '2020-12-10';

在这里插入图片描述

通配符

 ---- 通配符 ---- 通常通配符都是跟LIKE一起使用的 % : 百分号表示零个、一个或多个字符 _ : 下划线表示单个字符 'A_Z':所有以‘A'起头,另一个任何值的字符,且以Z'为结尾的字符串。例如,'A.BZ'和‘A.22'都符合这一个模式,而‘AKK2'并不符合(因为在A和Z之间有两个字符,而不是一个字符)。 'ABC%':所有以'ABC'起头的字符串。例如,'ABCD'和'ABCABC'都符合这个模式。 '%XYZ':所有以'XYZ'结尾的字符串。例如,'WXYZ'和‘ZZXYZ'都符合这个模式。 '%AN%':所有含有'AN'这个模式的字符串。例如,'LOS ANGELES'和'SAN FRANCISCO'都符合这个模式。 '_AN%':所有第二个字母为‘A'和第三个字母为'N'的字符串。例如,'SAMN FRANCITSCO'符合这个模式,而'LOS ANGELES'则不符合这个模式。 ---- LIKE ---- 匹配一个模式来找出我们要的资料 语法:SELECT "栏位" FROM "表名" WHERE "栏位" LIKE {模式}; SELECT * FROM Store_Info WHERE Store_Name like '%os%'; ---- ORDER BY ---- 按关键字排序 语法:SELECT "栏位" FROM "表名" [WHERE "条件"] ORDER BY "栏位" [ASC,DESC]; #ASC是按照升序进行排序的,是默认的排序方式。 #DESC是按降序方式进行排序。 SELECT Store_Name,Sales,Date FROM Store_Info ORDER BY Sales DESC;

在这里插入图片描述

函数 数学函数

 abs(x)                #返回x的绝对值 rand()                #返回0到1的随机数 mod(x,y)              #返回x除以y以后的余数 power(x,y)            #返回x的y次方 round(x)              #返回离x最近的整数 round(x,y)            #保留x的y位小数四舍五入后的值 sqrt(x)               #返回x的平方根 truncate(x,y)         #返回数字x截断为y位小数的值 ceil(×)               #返回大于或等于x的最小整数 floor(x)              #返回小于或等于x的最大整数 greatest(x1,x2...)    #返回集合中最大的值 least(x1,x2...)       #返回集合中最小的值 SELECT abs(-1),rand(),mod(5,3),power(2,3),round(1.89); SELECT round(1.8937,3),truncate(1.235,2),ceil(5.2),floor(2.1),least(1.89,3,6.1,2.1);

在这里插入图片描述

聚合函数

 聚合函数: avg()       #返回指定列的平均值 count()     #返回指定列中非 NULL值的个数 min()       #返回指定列的最小值 max()       #返回指定列的最大值 sum(x)      #返回指定列的所有值之和 SELECT avg(Sales) FROM Store_Info; SELECT count(store_N

以上就是MySQL一些常用高级SQL语句的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 数据库