码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mysql之进阶查询语句


    目录

    一,常用查询

    1,order by按关键字排序

    1.1 升序排序

     1.2 降序排序

     1.3 结合where进行条件过滤再排序

     1.4多字段排序

     2,and和or判断

    2.1 and和or的使用

     2.2 嵌套,多条件使用

     3,distinct 查询不重复记录

    4,group by 对结果进行分组

     5,limit限制结果输出条目

     6,设置别名(alias-as)

    6.1列别名设置示例:

     6.2 查询表的记录数量,以别名显示

    6.3 利用as,将查询的数据导入到另一个表内

     7,通配符查询

     二,子查询

    1,select 查询

    1.1 相同表查询

    1.2 多表查询

     1.3 not取反,将子查询的结果,进行取反操作

    1.4 结合as别名进行子查询

     2,insert 插入

     3,update更新

     4,delete删除

    5,exists布尔输出 

    三,mysql视图 

    1,什么是视图

    2,视图和表的区别与联系

    3,单标创建视图

     4,多表创建视图

     五,NULL值

    1,NULL值与空值区别

    六,总结

    常用查询,

    子查询

    视图


    一,常用查询

    1,order by按关键字排序

    使用select语句可以将需要的数据从 mysql数据库中查询出来,如果对查询的结果进行排序,可以使用order by语句来对语句实现排序,并最终将排序后的结果返回给用户,这个语句的排序不光可以针对某一个字段,也可以针对多个字段。

    语法

    select  字段1,字段2....from 表名 order by 字段1,字段2.......[asc]

    #查询结构以升序方式显示,asc可以省略

    select 字段1.字段2....from 表名 order by 字段1,字段2........desc

    #查询结构以降序的方式显示

    • ASC是按照升序进行排序,是默认的排序方式,即ASC可以省略
    • select语句中如果没有指定具体的排序方式,则默认按ASC进行排序
    • desc是安装降序方式进行排序
    • order by 前面也可以使用where子句对查询结果进一步过滤

    1.1 升序排序

    1. mysql> select id,nba,age from ky21 order by id asc;
    2. #查询id,nba,age。字段的记录,并且以id进行升序

     

     1.2 降序排序

    1. mysql> select id,nba,age from ky21 order by id desc;
    2. 查找id,nba,age字段,以id进行降序排序
    3. desc(降序)

     1.3 结合where进行条件过滤再排序

    1. mysql> select id,nba,score,addres from ky21 where addres='洛杉矶' order by score desc;
    2. #查询,id,nab,score,address字段,再进行过滤出address=洛杉矶的字段,在进行score字段进行降序排序

     1.4多字段排序

    order by 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再安装第二个字段进行排序,order by后面跟多个字段时,字段直接使用英文逗号隔开,优先级是安装优先级顺序而定,但是order by 之后的第一个参数只有在出现相同值的时候,第二个字段才有意义。

    mysql> select id,nba,score from ky21 order by score,id desc;
    

    此处做的实验是先升序排序再降序排序,也可以都降序排序或者都升序排序,这里就不做过多的例子了

     2,and和or判断

    在大型数据库中,有事查询数据需要数据符合某些特点,“and”和“or” 表示“且”和“或”。

    2.1 and和or的使用

    1. mysql> select id,nba,age from ky21 where id>20;
    2. 查找id大于20的记录,并且只显示id,age,nba
    3. mysql> select id,nba,age from ky21 where id>10 and id<30;
    4. 查找id大于10的记录并且小于30的记录
    5. mysql> select id,nba,age from ky21 where id>1 or id<30;
    6. 查找id大于1 或者小于30的记录

     

     

     2.2 嵌套,多条件使用

    1. mysql> select id,nba,age from ky21 where id <10 or (id>1 or id<30);
    2. 查找id小于10或者大于1和小于30之间的
    3. mysql> select id,nba,age from ky21 where id <10 or (id>1 or id<30) order by id desc;
    4. 查找id小于10或者大于1和小于30之间的,并且以id进行降序排序

     

     3,distinct 查询不重复记录

    select distinct 字段 from 表名;

    • distinct 必须放在最开头
    • distinct 只能使用需要去重的字段进行操作
    • distinct 去重多个字段时,含义是:几个字段同时重复时才能会过滤,会默认按左边第一个字段为依据。
    1. mysql> select distinct age from ky21;
    2. #使用distinct查询不重复记录,(相当于去重)

    4,group by 对结果进行分组

    通过sql查询出来的结果,还可以对其进行分组,使用group by语句来实现,group by通常都是结合集合函数来一起实现的。

    常用的聚合函数包括:计数(count)、求和(sum)、求平均数(avg)、最大值(max)、最小值(min),group by 分组的时候可以按一个或多个字段对结果进行分组处理。、

    • 对于group by后面的字段的查询结果进行汇总分组,通常结合聚合函数一起使用的
    • group by 有一个原则,就是select 后面的所以列中,没有聚合函数的列必须出现在group by的后面

    select 字段,聚合函数(字段) from 表名【where 字段 (匹配) 数值】group by 字段名;

    1. mysql> select count(age),score from ky21 group by score;
    2. #count(age): 记录age字段的数据出现的次数
    3. group by score; 按照score相同的分数进行分组,
    4. mysql> select count(age),score from ky21 where score<20 group by score;
    5. mysql> select count(age),score,addres
  • 相关阅读:
    PS的抠图算法原理剖析 1
    在vue3中封装一个文件上传组件
    第一百三十六回 WillPopScope组件
    [工业互联-1]:工业互联全局概述
    createNodeIterator使用+元素替换
    性能测试面试问题,一周拿3个offer不嫌多
    78. 子集、90. 子集 II、491. 递增子序列
    什么是网络编程(一)
    MySQL该使用哪种CPU架构服务器?
    一文讲透彻Redis 持久化
  • 原文地址:https://blog.csdn.net/m0_54594153/article/details/126939421
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号