MySQL DQL 基本查询

一.概念

        数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。

二.语法格式

select 列名 from 表 where 条件

1.查询所有的商品

select * from product;

2.查询商品名和商品价格

select pname,price from product;

 3.别名查询

使用关键字as,as可以省略

表别名:

select * from product as p;
select * from product p;

列别名:

select pname as '商品名',price as '商品价格' from product;

4.去掉重复值

select distinct price from product;

5.运算查询

select pname,price+10 from product;

三.运算符

1.算数运算符

+ - * / %

2.比较运算符

1)<=>

安全的等于,两个操作数均为null时,其所得值为1;当一个操作数为null时,其所得值为0.

2)<> 或!=

不等于

3)IS NULL或ISNULL

判断一个值是否为NULL

4)IS NOT NULL

5)LEAST 

返回最小值

6)GREATEST

返回最大值

7)BETWEEN AND

判断一个值是否落在两个值之间

8)IN

判断一个值是列表中的任意一个值

9)NOT IN

10)LIKE 

通配符匹配

11)REGEXP

正则表达式匹配

 注:

1)通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

2)正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

3.逻辑运算符

1)NOT或!

逻辑非

2)AND或&&

逻辑与

3)OR或||

逻辑或

4)XOR

逻辑异或

四.运算符的应用 

1.算数运算符

select pname,price+10 as new_price from product;

2.比较运算符/逻辑运算符

select * from product where pname='海尔洗衣机';
select * from product where price=800; 
select * from product where price in (200,800);
select * from product where pname like '%裤%';

%用来匹配任意字符

select * from product where pname like '_%蔻';

_下划线匹配单个字符

select * from product where category_id is null;

不能够使用=,因为null不等于任何值。

求最小值和最大值时,如果有一个值为null,则不进行比较,结果直接为null。

五.排序查询

对读取的数据进行排序,使用order by语句

语法格式:

select

        字段名1,字段名2,……

from 表名

order by 字段名1 [asc,desc],字段名2 [asc,desc]

asc表示升序,desc表示降序,默认升序

order by 子句,放在查询语句的最后面。limit子句除外

select * from product order by price desc;
select * from product order by price desc , category_id desc;
select distinct price from product order by price desc;

六.聚合查询

之前我们做的查询都是横向查询,而聚合查询是对一列的值进行计算,返回一个值。

1.查询商品的总条数

select count(pid) from product;
select count(*) from product;

查询所有记录不为空的条数

select count(pid) from product where price>200;

 2.查询总和

select sum(price) from product where category_id='c001';

3.查询最大/最小价格

select max(price) from product;
select min(price) from product;

4.查询平均价格

select avg(price) from product where category_id='c002';

5.聚合查询对于null的处理

1.count函数对null值的处理

如果count函数的参数为*,则统计所有记录的个数。如果参数为某字段,则不统计含null值的记录个数。

2.sum/avg/max/min对null值的处理

忽略null值的存在

七.分组查询(group by)

对查询信息进行分组

select category_id,count(id) from product group by category_id;

分组之后,select后面只能写分组字段和聚合函数。

分组之后的条件筛选——having

分组之后对统计结果进行筛选不能够使用where

having子句用来从分组的结果中筛选行。

select category_id,count(id) cnt from product group by category_id having cnt>4;

SQL的执行顺序

from ->group by ->count ->select ->having ->order by 

八.分页查询(limit)

采用分页显示方式。

limit m,n

m:整数,表示从第几条索引开始

n:整数,表示查询多少条数据

select * from product limit 5;

显示前5条 

select * from product limit 3,5;

从第四条开始显示,显示5条。

九.数据导入

将一张表的数据导入到另一张表中

格式;

insert into table2 select * from table1

要求目标表2必须存在。

insert into product3 select category_id , count(*) from product group by category_id;

十.总结

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍7款免费的最佳地图/导航/定位/GIS开源项目

文章目录 1、xdh-map新德汇地图应用类库1.1、独立引用1.2、与MyUI结合使用1.3、快速上手1.3.1、采用项目工程模板创建项目【推荐】1.3.2、 调用组件库功能 2、蚂蚁金服AntV-L7地理空间数据可视分析引擎2.1、AntV-L7简介2.2、核心特性2.3、支持丰富的图表类型2.4、如何使用2.4.1…

林浩然与杨凌芸的Java集合奇遇记

林浩然与杨凌芸的Java集合奇遇记 The Java Collection Chronicles of Lin Haoran and Yang Lingyun 在一个充满代码香气的午后&#xff0c;程序员男主角林浩然正在他的编程世界里挥舞着键盘剑&#xff0c;探索Java王国中的神秘宝藏——集合。而我们的女主角杨凌芸&#xff0c;作…

深入浅出了解谷歌「Gemini大模型」发展历程

Google在2023年12月官宣了Gemini模型&#xff0c;随后2024年2月9日才宣布Gemini 1.0 Ultra正式对公众服务&#xff0c;并且开始收费。现在2024年2月14日就宣布了Gemini 1.5 Pro&#xff0c;史诗级多模态最强MoE首破100万极限上下文纪录&#xff01;&#xff01;&#xff01;Gem…

基于SpringBoot+WebSocket+Spring Task的前后端分离外卖项目-订单管理(十七)

订单管理 1. Spring Task1.1 介绍1.2 cron表达式1.3 入门案例1.3.1 Spring Task使用步骤1.3.2 代码开发1.3.3 功能测试 2.订单状态定时处理2.1 需求分析2.2 代码开发2.3 功能测试 3. WebSocket3.1 介绍3.2 入门案例3.2.1 案例分析3.2.2 代码开发3.2.3 功能测试 4. 来单提醒4.1 …

【Vision Pro 应用分享】Make It Spatial——将普通照片转化为Spatial空间照片,以在Vision Pro视界眼镜上观看3D效果

该应用目前在Mac App Store上免费提供 下载地址:‎Make It Spatial on the Mac App Store Read reviews, compare customer ratings, see screenshots, and learn more about Make It Spatial. Download Make It Spatial for macOS 14.0 or later and enjoy it on your Mac.h…

SG5032EAN规格书

SG5032EAN 晶体振荡器结合了相位锁定环&#xff08;PLL&#xff09;技术和AT切割晶体单元&#xff0c;提供了73.5 MHz至700 MHz的广泛频率范围&#xff0c;以满足高速数字应用的需求。高性能的LV-PECL输出&#xff0c;2.5V和3.3V电源电压&#xff0c;可灵活适配不同设计的电源需…

什么是软件测试?软件测试的目的与原则是什么?

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

信息技术教资科3选择题相关知识点

目录 一.数据压缩 1.无损压缩 2.有损压缩 二.计算题 三.Excel表 四.powerpoint 五.Photoshop 六.FLASH动画 1.动画类型 2.鼠标动作命令 3.动作命令 七.人工智能的应用领域 八.网络相关 八.并行接口和串行接口 九.HTML标签 十.其他知识点 若你是计算机相关专业…

Keras可以使用的现有模型

官网&#xff1a;https://keras.io/api/applications/ 一些使用的列子&#xff1a; ResNet50&#xff1a;分类预测 import keras from keras.applications.resnet50 import ResNet50 from keras.applications.resnet50 import preprocess_input, decode_predictions import nu…

2月16日openai又出了什么大招呢?

2024年2月16日通过google trends可以发现“sora”被大量的搜索与关注。那么什么是“sora”呢&#xff1f; Sora是OpenAI发布的一款文本到视频的AI模型&#xff0c;它能够根据文本指令生成逼真和富有想象力的场景。Sora 可以创建长达 60 秒的视频&#xff0c;其中包含高度详细的…

电路设计(19)——基于TDA2030的音频放大器的proteus仿真

1.设计要求 能够使用TDA2030芯片&#xff0c;实现对音频信号的放大。 2.芯片介绍 TDA 2030 是一块性能十分优良的功率放大集成电路&#xff0c;其主要特点是上升速率高、瞬态互调失真小&#xff0c;在目前流行的数十种功率放大集成电路中&#xff0c;规定瞬态互调失真指标的仅…

SQL29 计算用户的平均次日留存率(lead函数的用法)

代码 with t1 as(select distinct device_id,date --去重防止单日多次答题的情况from question_practice_detail ) select avg(if(datediff(date2,date1)1,1,0)) as avg_ret from (selectdistinct device_id,date as date1,lead(date) over(partition by device_id order by d…