• mysql的高阶语句


    select * from info;

    使用select语句,用order by 来对进行排序

    ASC :升序。可以不加

    desc :降序排列,需要添加

    order by 结合 where条件过滤

    select name,score from info where address='南京西路' order by score desc;

    select name,score from info where sex='女' order by score desc;

    多条件排序 只有第一个参数出现相值时,第二个才会按照要求排序

    SELECT id,name,score from info where sex='女' ORDER BY id DESC,score desc;

    区间判断

    小于等于90 大约70

    select * from info where score > 70 and score <=90

    大于80或者小于90

    select * from info where score > 80 or score < 90

    嵌套判断

    以 and 后面为准

    select * from info where score > 70 and ( score > 75 and score < 90 );

    以or 前面为准

    select * from info where score > 70 or ( score > 80 and score < 90 );

    嵌套条件,满足性别是男,然后进行筛选,成绩80-90

    select * from info where sex='男' and (score > 80 and score < 90);

    去重查询

    Select distinct address from info;

    select distinct address from info;

    select 的求值

    count() 统计有多少个行

    sum()列的值相加,求和

    avg()列的值求平均数

    max()过滤出列的最大值

    min() 过滤出列的最小值

    group by 分组处理

    select * from info where score >=80 group by sex;

    根据where条件进行筛选,score>=80

    select count(name),sex,score,name from info where score >=80 group by sex;

    求和。以地址为分组,对score进行求和

    select sum(score),address from info group by address;

    select * from info where score >=80 group by sex;

    select sum(score),address from info group by address;

    select avg(score),sex from info group by sex;

    Group by 实现条件过滤 后面需要跟上having语句实现条件过滤

    select avg(score),address from info group by address having avg(score) >=60;

    SELECT count(name),score,address from info group by address having score >= 70 order by count(name);

    select*from info;
    按照性别分组,求出男生和女生的最大成绩,最大成绩是否超过75分。满足条件的过滤出来。
    select max (score) ,sex from info group by sex having max (score) > 75;
    使用聚合函数必须要加Igroup by分组的条件,要选用有多个重复值的列。过滤条件要用having语 句过滤

    Limit 限制输出的结果记录,指定查看表中的的指定行

    #第6行往下数3行

    select * from info limit 5,3;

    #快速的查看最后3行

    Select * from info order by id desc limit3;

    通配符:

    通配符主要用于替换字符串中的部分字符,通过部分字符的匹配先将结果查询出来

    通配符和like 一起使用,使用where语句一起来完成查询

    %:表示0个 1个 多个

    _: 表示单个字符

    Select * from info where address like ‘%西%’;

    以山为开头 c%

    以什么为结尾 %c

    表示内容包含 %c%

    Select * from info where name like '杨_';

    设置别名: alias >> AS

    在mysql 查询时表的名字或者字段名长,可以使用别名替代,

    Select name姓名,score 成绩 from info;

    创建as语句时复制表 主键会消失复制的是数据结构(约束不会被复制过来)

    Create table test as select * from info;

    Select * from test1;

    Desc test1;

    指定大于60的

    Create table test as select * from info where score >=60;

    表的别名 不能和数据库中的其他的表名冲突

    列的别名在结果中可以显示,但是表的别名在结果中没有显示,只能用于查询

  • 相关阅读:
    【华为机试真题 JAVA】输出指定字母在字符串的中的索引-100
    Win10纯净版和官方原版哪个好?
    Algorithms practice:Basic Calculator 224
    [9]CSRF你清楚吗?
    Linux常用命令
    HTML+CSS+JS宠物商城网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
    WebStorm stylelint 自动修复
    【经典算法学习-排序篇】顺序查找 - 作业讲解
    java计算机毕业设计菲特尼斯健身管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
    计算机组成原理--存储系统
  • 原文地址:https://blog.csdn.net/Lachewuxian/article/details/134274303