(数据库存储应用)S4 查询

简单查询

select

  • select
SELECT [distinct] * | {colum1,colum2,,,} from table_name;

colum指定列名,* 代表查询所有 ,distinct 可选,是否踢掉重读数据


student表

select * from student;//所有
select id,name from student; //查询id和name列
select distinct name from studnet;//过滤重名的人
  • 可在查询时加分
select english+10 from student;

显示加分数据不会修改。

  • 查询总分
select name ,English+Chinese from student;
  • 使用别名
 select name as '姓名' ,English+Chinese as '总成绩' from student

as可以省略

where 条件限制

  • 查询姓名是XXX的成绩
select * from student where name ='XXX';
  • 英语成绩大于90
select * from student where english>90;
  • 总分大于150的
select * from student where english+Chinese>150;

where 语句运算符
(数据库存储应用)S4 查询_第1张图片

聚合函数

count

用来统计函数

select count(*)|count(列名) from table_name [where  balabala];
  • 例 统计一个班多少学生
select count(*) from studnet;
  • 统计成绩大于90
1. select * from student where english>70;
2. select count(*) from student where english>70;

sum

将符合条件的某列的和值

select sum(列名){,sum(列名)} from table_name [where  balabala];
  • 列统计班级英语总分
select sum(english) from student;
  • 潮汛语文平均分
select sum(chinese)/count(*) from student;

avg

求符合条件的平均值

select avg(列名){,avg(列名)} from table_name [where  balabala];
  • 例求班级英语平均分
select avg(english) from student;
  • 总体平均分
select avg(chinese+english) from student;

max和min

求符合条件的列的最大值最小值

select max|min(列名) from tabname [where  balabala];
  • 班级总分最高分
select max(chinese+english) from studnet;

排序查询

order by

select * | column1,column2,column3,,,,from table_name order by column [asc升序|desc降序]
  • 例 对数学成绩排序
select name,math as '数学'from student order by math|‘数学’ asc;

分组查询

group by

select * | column1,column2,column3,,,,from table_name group by couumn [hive ....];
  • 例 商品分组价钱求和
select name , sum(much) from prodect group by name;

(数据库存储应用)S4 查询_第2张图片

hive进行过滤

where可以过滤,在分组前过滤,where中不允许使用聚合函数

  • 例 查询总价大于100 的商品
select name , sum(much) from prodect group by name hive sum(much) >100;

(数据库存储应用)S4 查询_第3张图片

  • 例 查询单价小100单总价大于100的商品
select name,sun(much) from prodect where much <100 group by name hive sun(much)>100;

limit限制查询数量

select * from tb_name limit [offset] 记录数量;

offset:开始位置默认从头。

mysql中的函数

数学函数

(数据库存储应用)S4 查询_第4张图片

字符串函数

(数据库存储应用)S4 查询_第5张图片

日期时间函数

(数据库存储应用)S4 查询_第6张图片

条件判断函数

在这里插入图片描述

加密函数

在这里插入图片描述

为表和字段取别名

表名或者字段名太长 可取小名代替。简化代码。

为表取别名

select * from tb_Name [as] 别名;

为字段取别名

select 字段1 [as] 别名,字段2 [as] 别名 from tb_name;

你可能感兴趣的:(大学,#,数据库存储)