罗定微网站建设,做小程序的流程,h5页面设计软件,自己建设网站需要哪些mysql的高阶语句
数据库的权限一般是很小的#xff0c;我们在工作使用最多的场景就是查
排序 分组 子查询 视图 多表连接查询#xff08;左连接 右连接 内连接#xff09;别名 使用select语句#xff0c;使用order by 查看#xff1a;select id,name,score from info or…mysql的高阶语句
数据库的权限一般是很小的我们在工作使用最多的场景就是查
排序 分组 子查询 视图 多表连接查询左连接 右连接 内连接别名 使用select语句使用order by 查看select id,name,score from info order by name DESC;
order by 结合where条件过滤
select name,score from info where address’南京西路’ order by score desc; 查id 姓名 成绩根据性别女.按照id进行降序排序
select name,score from info where sex女 ORDER BY id desc;
只有第一个参数出现相同值的时候第二个才会按照要求排序 区间判断查询和去重查询
AND/or
且 或
大于70而且小于等于90SELECT * from info where score 70 and score 90;
大于80或者小于90SELECT * from info where score 80 or score 90; 嵌套条件select * from info where score 70 and (score 75 and score 90);
嵌套条件满足性别是男然后进行筛选 成绩80-90select * from info where sex男 and (score 80 and score 90); 去重查询SELECT distinct address from info;
select distinct sex from info;
根据address去重然后过滤出成绩90且性别男SELECT distinct address from info where sex男 and score 90; 对结果进行分组查询group by语句
一般是结合聚合函数一块使用
count统计有多少行
sum把列的值相加求和
avg对列的值求平均数
max过滤出列的最大值
min过滤出列的最小值
分组的时候可以按照一个字段也可以按照多个字段对结果进行分组处理 根据where条件筛选score 80select count(name),sex,score from info where score 80 group by sex; 求和以地址为分组对score求和select sum(score),address from info group by address; 算出男生女生的平均成绩select avg(score),sex from info group by sex; 分别求出男生组和女生组的成绩最低的姓名select min(score),sex,name from info group by sex; 如何使用group by实现条件过滤后面跟上having语句实现条件过滤select avg(score),address from info group by address having avg(score) 60; 按照地址分组求成绩的平均值然后50按照id的降序排列select avg(score),address,id from info group by address having avg(score) 50 order by id desc; 统计name的行数计算出学生的个数把成绩也查出来然后按照统计出来的学生个数升序排列。按照地址分组学生的成绩70select count(name),score,address from info group by address having score 70 order by count(name); 按照性别分组求出男生和女生的最大成绩最大成绩是否超过了75分满足条件的过滤处理select max(score),sex from info group by sex having max(score) 75; 使用聚合函数必须要加group by分组的条件要选用有多个重复值的列。过滤条件要用having语句过滤 limit限制输出的结果记录查看表中的指定行
只看前三行select * from info limit 3;
快速的查看后几行select * from info order by id desc limit 3; 通配符主要用于替换字符串中的部分字符通过部分字符的匹配将相关的结果查询出来
通配符和like一起使用使用where语句一起来完成查询
%表示0个1个或者多个
_表示单个字符
以山为开头select * from info where address like ‘山%’
以路为结尾select * from info where address like ‘%路’
表示内容当中包含%c%
表示单个字符select * from info where name like 刘__;
select * from info where name like _树_;
通配符可以结合在一块使用 设置别名alias AS
在mysql查询时表的名字或者字段名太长可以使用别名来进行替代。方便书写。增加可读性
例如select name 姓名,score 成绩 from info; create table test as select * from info;
创建了一个表testtest的数据结构从info复制过来但是约束不会被复制
desc test;
使用as复制表约束不会被复制过来 作业
通过as创建主键没了外键在不在索引在不在 create table test1 as select * from info where score 60
通过as创建主键没了外键在不在索引在不在 可以给表起别名但是要注意别名不能和数据库中的其他表名冲突
列的别名在结果中可以显示但是表的别名在结果中没有显示只能用于查询