Mysql高阶语句(一)

news2024/11/18 9:28:04

Mysql高阶语句(一)

  • 一、MySQL高级进阶SQL 语句
    • 1、SELECT斜体样式
    • 2、DISTINCT
    • 3、WHERE
    • 4、AND、OR
    • 5、IN
    • 6、BETWEEN
    • 7、通配符、LIKE
    • 8、ORDER BY
    • 9、| | 连接符
    • 10、GROUP BY
    • 11、HAVING
  • 二、函数
    • 1、数学函数
    • 2、聚合函数
    • 3、字符串函数
    • 4、日期时间函数

一、MySQL高级进阶SQL 语句

1、SELECT斜体样式

  • 显示表格中一个或数个字段的所有资料
  • 语法:SELECT 字段 FROM 表名
select region from xc;

在这里插入图片描述

2、DISTINCT

  • 不显示重复的资料(去重)
  • 语法:SELECT DISTINCT 字段 FROM 表名
select distinct region from xc;

在这里插入图片描述

3、WHERE

  • 有条件查询
  • 语法:SELECT 字段 FROM 表名 WHERE 条件
select store_name from store where sales>1000;
select store_name from store where sales > 1000 or (sales<500 and sales>200);

4、AND、OR

  • and(并且)、or(或者)
  • 语法:SELECT 字段 FROM 表名 WHERE 条件1 ([AND|OR] 条件2)+;
select store_name from store where sales>1000;
select store_name from store where sales > 1000 or (sales<500 and sales>200);

在这里插入图片描述
在这里插入图片描述

5、IN

  • 显示已知的值的资料
  • 语法:SELECT 字段 FROM 表名 WHERE 字段 IN (‘值1’,‘值2’,……);
select * from store where store_name in ('Los Angeles','Houston');

在这里插入图片描述

6、BETWEEN

  • 显示两个值范围内的资料
  • 语法:SELECT 字段 FROM 表名 WHERE 字段 BETWEEN ‘值一’ and ‘值二’;
select * from store where date between '2020-12-06' and '20200-12-10';

在这里插入图片描述

7、通配符、LIKE

  • 通常通配符都是跟LIKE一起使用
%百分号表示零个、一个或多个字符
_下划线表示单个字符
  • LIKE:用于匹配模式来查找资料
  • 语法:SELECT 字段 FROM 表名 WHERE 字段 LIKE ‘模式’;
select * from store where store_name like '%os%';

在这里插入图片描述

8、ORDER BY

  • 按关键字排序
  • 语法:SELECT 字段 FROM 表名 [WHERE 条件] ORDER BY 字段 [ASC,DESC];
#ASC	按照升序进行排序,默认的排序方式
#DESC	按照降序进行排序
select store_name,sales,date from store order by sales asc;
select store_name,sales,date from store order by date asc;
select store_name,sales,date from store order by date desc;

在这里插入图片描述

9、| | 连接符

  • 如果sql_mode开启开启了PIPES_AS_CONCAT,"||"视为字符串的连接操作符而非或运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的
 select store_name || ' ' || sales from store where store_name='Los Angeles';
 select store_name || ' ' || date from store where store_name='Los Angeles';

在这里插入图片描述

10、GROUP BY

  • BY后面的栏位的查询结果进行汇总分组,通常是结合聚合函数一起使用的
  • GROUP BY 有一个原则,就是 SELECT 后面的所有列中,没有使用聚合函数的列,必须出现在GROUP BY后面。
  • 语法:SELECT 字段1,SUM(字段2) FROM 表名 GROUP BY 字段1;
select site,sum(money) from FARE group by site;
select site,sum(money),date from FARE group by site order by money desc;
select site,count(money),sum(money),date from FARE group by site order by money desc;

11、HAVING

  • 用来过滤由GROUP BY语句返回的记录集,通常与GROUP BY语句联合使用。
  • HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。如果被SELECT的
  • 只有函数栏,那就不需要GROUP BY子句。
  • 语法:SELECT 字段1,SUM(字段2) FROM 表名 GROUP BY 字段1 HAVING(函数条件);
select site,count(money),sum(money),date from FARE group by site having sum(money) >=700;

二、函数

1、数学函数

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)返回大于或等于 x 的最小整数
floor(x)返回小于或等于 x 的最大整数
greatest(x1,x2…)返回集合中最大的值
least(x1,x2…)返回集合中最小的值
select abs(-1),rand(),mod(5,3),power(2,3),round (1.579),round(1.734,2);
select sqrt(9),truncate(1.234,2),ceil(1.2),floor(1.9),greatest(1,2,3,4),least(1,2,3,4);

在这里插入图片描述

2、聚合函数

avg()返回指定列的平均值
count()返回指定列中非 NULL 值的个数
min()返回指定列的最小值
max()返回指定列的最大值
sum(x)返回指定列的所有值之和
select avg(money) from FARE;
select count(money) from FARE;
select min(money) from FARE;
select max(money) from FARE;
select sum(money) from FARE;
  • #count(*)包括所有列的行数,在统计结果时,不好忽略值为null
  • #count(字段)只包括那一行的列数,在统计结果的时候,会忽略列值为null的值

3、字符串函数

trim()返回去除指定格式的值
concat(x,y)将提供的参数 x 和 y 拼接成一个字符串
substr(x,y)获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同
substr(x,y,z)获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串
length(x)返回字符串 x 的长度
replace(x,y,z)将字符串 z 替代字符串 x 中的字符串 y
upper(x)将字符串 x 的所有字母变成大写字母
lower(x)将字符串 x 的所有字母变成小写字母
left(x,y)返回字符串 x 的前 y 个字符
right(x,y)返回字符串 x 的后 y 个字符
repeat(x,y)将字符串 x 重复 y 次
space(x)返回 x 个空格
strcmp(x,y)比较 x 和 y,返回的值可以为-1,0,1
reverse(x)将字符串 x 反转
SELECT TRIM ([ [位置] [要移除的字符串] FROM ] 字符串);
  • #[位置]:的值可以为 LEADING (起头), TRAILING (结尾), BOTH (起头及结尾)。
  • #[要移除的字符串]:从字串的起头、结尾,或起头及结尾移除的字符串。缺省时为空格。
select trim(leading 'na' from 'nanchang');
select trim(trailing '--' from 'nanchang--');
select trim(both '--' from '--nanchang--');

select concat(region,site) from REGION where region = 'south';
select concat(region,' ',site) from REGION where region = 'south';

select substr(money,1,2) from FARE;

select length(site) from FARE;

select replace(site,'ji','--') from FARE;

select upper(site) from FARE;

select lower('HAHAHA');

select left(site,2) from FARE;

select right(site,3) from FARE;

select repeat(site,2) from FARE;

select space(2); 

select strcmp(100,200);

select reverse(site) from FARE;

4、日期时间函数

日期时间函数描述
curdate()返回当前时间的年月日
curtime()返回当前市价你的时分秒
now()返回当前时间的日期和时间
month(x)返回日期x中的月份值
week(x)返回日期x是年度的第几个周
hour(x)返回x中的小时值
minute(x)返回日期x中的分钟值
second(x)返回日期x中的秒数值
dayotweek(x)返回x是星期几,1为星期日,2为星期一
replace(x,y,z)将字符z替代字符串x中的字符串y
dayotmonth(x)计算日期x是本月的第几天
dayotyear(x)计算日期x是本年的第几天
select dayofweek(curtime());
select dayofmonth(curtime());
select dayofyear(curtime());
select curdate();
select curtime();
select now();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

短视频矩阵源码

短视频矩阵源码的开发部署其实并不难&#xff0c;主要依托于抖音平台各种开放权限进行研发&#xff0c;市面上常见的源码功能构建也是大同小异&#xff0c;主要处理还在于细节及产品优化上。 如&#xff1a; 1. 视频制作板块&#xff0c;文字转语音功能&#xff0c;当然各种云&…

【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(NLP、GPT-Pre-Training和数据标注都是什么)

零基础带你进军人工智能领域的全流程技术体系和实战指南&#xff08;NLP、GPT-Pre-Training和数据标注都是什么&#xff09; 前言专栏介绍专栏说明学习大纲前提条件面向读者学习目标核心内容NLP自然话言理解指的是什么定义概念涉及到的领域技术与应用关系 重要性语言结构剖析分…

AI已在职场大规模应用,求职者被要求熟练使用ChatGPT

“能熟练使用ChatGPT、Midjourney等AI软件生产高质量文图内容完成辅助工作。”当这条岗位要求悄然出现在今夏的应聘季&#xff0c;时光仿佛被拉回到数十年前&#xff0c;那个要求“会使用Word、Excel等计算机软件”的求职年代。 彼时&#xff0c;因为计算机的逐渐普及&#xf…

Linux服务器Jenkins部署打包Android

程序猿日常 记Jenkins部署打包Android介绍 Jenkins 自动打包 Android 应用&#xff0c;后面介绍打包Flutter应用&#xff0c;然后介绍打包Android原生Flutter混合应用 准备工作 1.jenkins服务器地址 账户密码 2.项目git地址 访问账号密码 3.ssh 链接服务器账户密码 安装An…

【Java高级语法】(十)面向对象:掀开Java 的面向对象盖章时代,一起来发现OOP的有趣编程秘密!~

Java高级语法详解之面向对象 1️⃣ 类和对象2️⃣ 三大特性2.1 封装(Encapsulation)2.2 继承(Inheritance)2.3 多态(Polymorphism) 3️⃣ 面向对象编程&#xff08;OOP&#xff09;和面向过程编程&#xff08;PP&#xff09;4️⃣ 方法重载和方法重写&#x1f50d; 小结&#x…

MySQL高级SQL语句操作一

MySQL高级SQL语句操作 一、准备环境二、常用操作三、通配符与like1、通配符2、like 四、ORDER BY五、函数1、数学函数2、聚合函数3、字符串函数 六、GROUP BY七、HAVING八、别名&#xff08;字段別名 、表格別名&#xff09;九、子查询&#xff08;连接表格&#xff09; 一、准…

记录--前端实现文件预览(pdf、excel、word、图片)

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前端实现文件预览功能 需求&#xff1a;实现一个在线预览pdf、excel、word、图片等文件的功能。 介绍&#xff1a;支持pdf、xlsx、docx、jpg、png、jpeg。 以下使用Vue3代码实现所有功能&#xff0c;建…

管理类联考——英语——趣味篇——不择手段——a开头单词

本书分为两个部分。第一部分是核心词汇的讲解&#xff0c;借助谐音、联想、编故事、词根词缀、举例、图画等手段&#xff0c;为每个单词找到它存在的语境&#xff0c;基本上可以让你做到过目不忘。在这一部分中&#xff0c;单词被划分为20个单元&#xff0c;同学们可以每天搞定…

Vue全家桶(五):Vue3快速上手

目录 1.Vue3简介2.Vue3带来了什么2.1 性能的提升2.2 源码的升级2.3 拥抱TypeScript2.4 新的特性 3. 创建Vue3.0工程3.1 使用 vue-cli 创建3.2 使用 vite 创建3.3 Vue3的初始化工程 4. Composition API介绍4.1 Composition API 的优势4.1.1 Options API 存在的问题4.1.2 Composi…

基于STM32 ARM+FPGA的电能质量分析仪方案(一)硬件设计

本章主要给出了本系统的设计目标和硬件设计方案&#xff0c;后面详细介绍了硬件电路的设计 过程&#xff0c;包括数据采集板、 FPGAARM 控制板。 3.1系统设计目标 本系统的主要目的是实现电能质量指标的高精度测量和数据分析&#xff0c;其具体技术指标如 下所示&#xff1…

C++指针对象和异常(12)

异常(exception) 为什么有异常 异常在C用于错误处理&#xff0c;C语言中一般使用返回值表示错误&#xff0c;C对错误处理进行了扩展&#xff0c;统一使用异常机制来处理程序中发生的错误。 C的异常处理包括两个部分 ----- 抛出异常和捕获异常&#xff0c;如果抛出的异常被捕…

​LeetCode解法汇总LCP 41. 黑白翻转棋

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 在 n*m 大小的棋盘中&#xff0c;有黑白两种棋子&#xff0c;黑棋记作字母 &quo…

想去除List重复元素?我有两种方法搞定,赶紧拿去用

关注“Java架构栈”微信公众号&#xff0c;回复暗号【Java面试题】即可获取大厂面试题 问题背景 最近就有很多小伙伴在后台私信波哥&#xff0c;问波哥这样一个问题&#xff1a;“波哥&#xff0c;我最近正在找工作&#xff0c;被面试官问到List该怎么去重&#xff1f;我感觉自…

命令执行测试-业务安全测试实操(12)

命令执行测试 测试原理和方法 在应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的承数。如PHP中的svstem、exec、shell exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。测试中如果没有对参数(如…

Lowe‘s EDI 项目数据库方案开源介绍

近期为了帮助广大用户更好地使用 EDI 系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 …

Flutter如何使用mvi? bloc结合自定义http库的实现

文章目录 前言一、先看看如何使用bloc吧1. 定义页面需要的数据2. 定义通用加载状态3. 定义事件4. 定义bloc5. 定义UI6. 使用 二、lib_http1. request定义2. response定义3. 适配器接口4. 构建adapter需要的数据5. 网络异常统一封装6. 核心请求类7. 提供网络访问配置8. dio适配器…

编译原理笔记13:自上而下语法分析(3)构造预测分析表、LL(1) 文法

目录 构造预测分析表不懂也能用的构造步骤FIRST、FOLLOW 和分析表的原理&#xff1f; LL(1) 文法 构造预测分析表 预测分析表的作用&#xff0c;是为推导的进行指明方向——我们用当前下推栈栈顶和读写头所指向的符号的组合&#xff08;即当前的状态&#xff09;&#xff0c;去…

网络安全学习指南:新手入门建议

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言网络安全基础知识学…

IPv6:连接未来的新一代互联网协议

由于互联网发展迅猛&#xff0c;IPv4地址数量已经接近枯竭。IPv6应运而生&#xff0c;成为下一代互联网协议。IPv6较IPv4来说&#xff0c;地址容量上升了数倍&#xff0c;并有更好的安全性和效率。 IPv6&#xff08;Internet Protocol version 6&#xff09;是指新一代互联网协…