数据库(mysql)-基本查询语句(DQL)

查询语句

这边查询是给予一定表格,这边先做个解释

教师表包括(name(姓名),gender(性别),salary(工资),title(职位),subject_id(课程的编号),comm(奖金))

学生表包括(姓名(name),gender(性别),job(职位),生日(birth))

模版

SELECT 字段名 FROM 查询表 WHERE 查询语句

或与非

AND 查询语句条件必须同时满足才能返回true,      满足true就返回查询相应的值

OR 查询语句条件只要满足其一就返回true,            满足true就返回查询相应的值

NOT 与查询条件相反就返回true,                             满足true就返回查询相应的值

 实例

#查看工资高于5000的女老师都有谁?
SELECT name,age,gender,salary
FROM teacher
WHERE salary>5000 AND gender='女'; 

#查看工资高于5000的男老师或所有女老师的工资?
SELECT name,gender,salary
FROM teacher
WHERE salary>5000 AND gender='男'
OR gender='女';
6.查看工资在4000到8000以外的老师及具体工资?
SELECT name,salary
FROM teacher
WHERE salary NOT BETWEEN 4000 AND 8000;

需要注意是或与且具有优先级,AND级别比OR级别高,会优先执行AND的代码

用于在一个范围内筛选值(一般数字范围,含头含尾)

BETWEEN  最小值 AND 最大值 

实例 

#查看工资在4000到8000以外的老师及具体工资?
SELECT name,salary
FROM teacher
WHERE salary NOT BETWEEN 4000 AND 8000;

指定多个可能的值来过滤结果集

IN(value1,value2,...) 多个值有,分割

#查看一级讲师和二级讲师的奖金(comm)是多少?
SELECT name,comm
FROM teacher
WHERE title IN ('一级讲师','二级讲师');

用于从结果集中删除重复的行

SELECT  DINSTINCT 字段名 FROM 查询表名

#查看所有女老师的职称都是什么?
SELECT DISTINCT title
FROM teacher
WHERE gender='女';

模糊查询

LIKE 关键字 ,用于在 WHERE 子句中搜索列中的指定模式

通配符

 % :匹配0,1个 多个字符

_  :  匹配单一字符

#举例
1.某字段后模糊查询
# 查询名字姓"李"的学生姓名
  SELECT name,gender,age
  FROM student
  WHERE name LIKE '李%';
2.某字段前模糊查询
# 查询名字以"郭"结尾的学生姓名
  SELECT name,age,gender
  FROM student
  WHERE name LIKE '%郭';
3.包含某字符的模糊查询
# 查询名字中包含"江"的学生姓名
  SELECT name,age,gender
  FROM student
  WHERE name LIKE '%江%';
_ 举例
1.一个_模糊匹配
# 查询名字第二个字是"苗"的学生信息
  SELECT name,age,gender
  FROM student
  WHERE name LIKE '_苗%';
2. 多个_模糊匹配
#查询名字中第3个字是'杰'的学生信息
  SELECT name,age,gender
  FROM student
  WHERE name LIKE '__杰%' ; 

NULL值判断

区别  NULL是一种状态 不是数值 和 java中定义的不一样

IS  是一个比较操作符,它主要用于与NULL 值进行比较

因为标准的比较操作符(如 =<> 等)不能用于 NULL 值,所以需要使用 IS或 IS NOT 来检查 NULL 值

实例

1.查询某字段状态为null
#查询奖金为null的老师
SELECT name, comm FROM teacher WHERE comm IS NULL;
2.查询某字段状态不为为null
#查询奖金为null的老师
SELECT name, comm FROM teacher WHERE comm IS NOT NULL;

 排序

 ORDER BY  用于对查询结果集中的记录进行排序,默认升序

 实例

1.升序
#查看老师的奖金排名,奖金由少到多(默认升序)
SELECT name, comm FROM teacher ORDER BY comm ASC(可写可不写);
2.降序
#查看老师的奖金排名,奖金由少到多(默认升序)
SELECT name, comm FROM teacher ORDER BY comm DESC(必须写);

 这边用学生表举例

特殊情况 日期排列 (远小近大) 是以现在时间为判断基准

#查看学生的生日,按照远小近大的升序(年龄由大到小)
SELECT name,birth From student ORDER BY birth ;
#查看学生的生日,按照远小近大的升序(年龄由小到大)
SELECT name,birth From student ORDER BY birth DESC;

 多字段排序

ORDER BY 字段名1,字段名2...  

优先结果集以第一个字段排序,当第一个字段有重复的值就以第二个字段排序,依次类推

当一个字段排序没有重复的值,不会用第二个字段排序

 实例

#查看老师的奖金和工资 首先按照奖金升序,再以工资降序
SELECT comm,salary From teacher ORDER BY comm,salary DESC;

注意的是null是状态,它可能是无限大或者无限小,这边是无限小 

 分页

运用了大量数据,电商产品

分页是查询的方言,不同数据库sql写法不同

这边以mariadb和mysql举例

SELECT 字段名

FROM 查询表格

WHERE 查询语句

ORDER BY 字段

LIMIT M,N 用于分页查询 

M:跳过结果集中多少条记录

N:从跳过的记录后开始检索出多少条记录

 实例

#查询老师奖金前5名
M :(1-1)*5 这边指的是跳过条目 这边要看前5名,不需要跳过
N:5 显示条目
SELECT name,salary FROM teacher ORDER BY salary DESC LIMIT 0,5;
#查询老师奖金6-10名
M :(2-1)*5=5 这边指的是跳过条目 这边要跳过前5名,5/5是一页,在原本第2页要现在放置到第一页
N:5
SELECT name,salary FROM teacher ORDER BY salary DESC LIMIT 5,5;
#查询老师奖金10-15名
M : 跳过9条,
N: 6  15-10+1=6
SELECT name,salary FROM teacher ORDER BY salary DESC LIMIT 9,6;
#查询老师奖金信息 按照降序排,每页显示3条,显示5页
M:(5-1)*3=12; 这边指的是页数
N:5
SELECT name ,comm FROM teacher ORDER BY comm DESC LIMIT 12,3;

使用表达式 

#查看老师的年薪和月薪
SELECT name ,salary,salary*12 FROM teacher;
#薪资没有空值null

 空值函数

IFNULL(arg1,arg2) 如果arg1不为null,返回arg1,否则返回arg2

#NULL值是状态不能进行计算,这边使用IFNULL,当comm为null替换成0
#查看老师的奖金和薪资的总和
SELECT name, salary,comm ,salary+IFNULL(comm,0) FROM teacher;
#查看老师的奖金和全年的奖金
SELECT name, salary,comm ,IFNULL(comm,0)*12 FROM teacher;

 别名

字段名 AS '别名' 

实例都行 

#字段别名(不写 AS)
SELECT name,salary,salary*12 annusal FROM teacher;
#字段别名(别名单引号)
SELECT name,salary,salary*12 'annusal' FROM teacher;
#字段别名(别名单引号加AS)
SELECT name,salary,salary*12 AS 'annusal' FROM teacher;
#字段别名(别名双引号加AS)
SELECT name,salary,salary*12 "annusal" FROM teacher;
#字段别名(别名双引号加AS)
SELECT name,salary,salary*12 AS "annusal" FROM teacher;

 运行图

 特殊情况 

数据库有关键字或者别名中有空格: 必须加单引号或者写双引号

//这边必须写单引号或者双引号
SELECT name,salary,salary*12 AS "annusal unlock" FROM teacher;
//这边必须写单引号或者双引号
SELECT name,salary,salary*12 AS "FORM" FROM teacher;
不写报语法结构错误

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Laravel 项目如何运行

如有一个 Laravel 项目&#xff0c;在配置好 PHP 版本和运行环境后&#xff0c;可以直接在项目下直接运行&#xff1a; php artisan serve 来启动你的项目。 通过浏览器查看 当项目运行后&#xff0c;默认的启动端口为 8000&#xff0c;可以通过浏览器来进行查看运行的 Larav…

c++的学习之路:17、stack、queue与priority_queue

摘要 本文主要是介绍一下stack、queue、priority_queue的使用以及模拟实现&#xff0c;文章末附上代码以及思维导图。 目录 摘要 一、stack的介绍和使用 1、stack的介绍 2、stack的使用 3、stack的模拟实现 二、queue的介绍和使用 1、queue的介绍 2、queue的使用 3、…

leetcode刷题日记之接雨水问题

题目描述 解题思路 这个题目相当于一个桶的容量是多少&#xff0c;这取决于最短的模板的高度&#xff0c;&#xff0c;对于位置来讲&#xff0c;第i个位置所能承载的最大的容量为左右两侧最低的高度减去该位置的高度&#xff0c;如果两侧的最低位置小于height【i】&#xff0c…

TSINGSEE青犀边缘计算AI智能分析网关V4客流统计算法的配置步骤及使用

TSINGSEE青犀AI智能分析网关V4内置了近40种AI算法模型&#xff0c;支持对接入的视频图像进行人、车、物、行为、烟火等实时检测分析&#xff0c;上报识别结果&#xff0c;并能进行语音告警播放。硬件支持RTSP、GB28181协议、以及厂家私有协议接入&#xff0c;可兼容市面上常见的…

Python学习从0到1 day21 第二阶段 面向对象 ④ 类型注解

仗剑红尘已是癫&#xff0c;有酒平步上青天 —— 24.4.7 一、变量的类型注解 学习目标 1.理解为什么使用类型注解 2.掌握变量的类型注解语法 为什么使用类型注解 tip&#xff1a;CTRLP&#xff0c;可以提示函数中传入的参数 当我们需要使用pycharm的自动补全功能&#xff0c;又…

Java | Leetcode Java题解之第18题四数之和

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> fourSum(int[] nums, int target) {List<List<Integer>> quadruplets new ArrayList<List<Integer>>();if (nums null || nums.length < 4) {return…

(表征学习论文阅读)A Simple Framework for Contrastive Learning of Visual Representations

Chen T, Kornblith S, Norouzi M, et al. A simple framework for contrastive learning of visual representations[C]//International conference on machine learning. PMLR, 2020: 1597-1607. 1. 前言 本文作者为了了解对比学习是如何学习到有效的表征&#xff0c;对本文所…

Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版

Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件&#xff1a;使用 Recovery Vault 轻松保护文件免遭意外删除&#xff0c;并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备&#xff0c;文件类型和文件系统。 软件下载&#xff1a;Disk Drill Enterprise for Mac v5.5.1515激…

【YOLOV8】项目目录重点部分介绍和性能评估指标

目录 一 项目目录重点部分介绍 二 性能评估指标 一 项目目录重点部分介绍 1 ultralytics

3D医疗图像配准 | 基于Vision-Transformer+Pytorch实现的3D医疗图像配准算法

项目应用场景 面向医疗图像配准场景&#xff0c;项目采用 Pytorch ViT 来实现&#xff0c;形态为 3D 医疗图像的配准。 项目效果 项目细节 > 具体参见项目 README.md (1) 模型架构 (2) Vision Transformer 架构 (3) 量化结果分析 项目获取 https://download.csdn.net/down…

.NET 设计模式—装饰器模式(Decorator Pattern)

简介 装饰者模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你在不改变对象接口的前提下&#xff0c;动态地将新行为附加到对象上。这种模式是通过创建一个包装&#xff08;或装饰&#xff09;对象&#xff0c;将要被装饰的对象包裹起来…

基于Springboot考研资讯平台的设计与实现(论文+源码)_kaic

摘 要 随着现在网络的快速发展&#xff0c;网络的应用在各行各业当中它很快融入到了许多学校的眼球之中&#xff0c;他们利用网络来做这个电商的服务&#xff0c;随之就产生了“考研资讯平台”&#xff0c;这样就让学生考研资讯平台更加方便简单。 对于本考研资讯平台的设计来…

npm包安装与管理:深入解析命令行工具的全方位操作指南,涵盖脚本执行与包发布流程

npm&#xff0c;全称为Node Package Manager&#xff0c;是专为JavaScript生态系统设计的软件包管理系统&#xff0c;尤其与Node.js平台紧密关联。作为Node.js的默认包管理工具&#xff0c;npm为开发者提供了便捷的方式来安装、共享、分发和管理代码模块。 npm作为JavaScript世…

C++ | Leetcode C++题解之第18题四数之和

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> quadruplets;if (nums.size() < 4) {return quadruplets;}sort(nums.begin(), nums.en…

谷歌seo自然搜索排名怎么提升快?

要想在谷歌上排名快速上升&#xff0c;关键在于运用GPC爬虫池跟高低搭配的外链组合 首先你要做的&#xff0c;就是让谷歌的蜘蛛频繁来你的网站&#xff0c;网站需要被谷歌蜘蛛频繁抓取和索引&#xff0c;那这时候GPC爬虫池就能派上用场了&#xff0c;GPC爬虫池能够帮你大幅度提…

GD32零基础教程第一节(开发环境搭建及工程模板介绍)

文章目录 前言一、MDK keil5安装二、设备支持包安装三、CH340串口驱动安装四、STLINIK驱动安装五、工程风格介绍总结 前言 本篇文章正式带大家开始学习GD32F407VET6国产单片机的学习&#xff0c;国产单片机性能强&#xff0c;而且价格也便宜&#xff0c;下面就开始带大家来介绍…

致远互联-OA 前台fileUpload.do 绕过文件上传漏洞复现

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA 接口 fileUpload.do 接口处存在文件上传漏洞,未经身份验证的远程攻击者可通过目录遍历的方式绕过上传接口限…

阿里通义千问开源 320 亿参数模型;文字和音频自动翻译成手语Hand Talk拉近人与人的距离

✨ 1: Qwen1.5-32B Qwen1.5-32B是Qwen1.5系列中性能与效率兼顾的最新语言模型&#xff0c;内存占用低&#xff0c;运行速度快。 Qwen1.5-32B是Qwen1.5语言模型系列的最新成员&#xff0c;这个模型是基于先进的技术研发的&#xff0c;旨在提供一种既高效又经济的AI语言理解和生…

Unity面经(自整)——Unity基础知识

Unity基础知识 1. Image和RawImage的区别 Image比RawImage更耗性能。Image只能使用sprite属性的图片。而RawImage什么都可以使用 2. Unity3D中的碰撞器Collider和触发器Trigger的区别 碰撞器是触发器的载体&#xff0c;而触发器是碰撞器上的一个属性。 如果IsTrigger为fal…

Maven POM元素解析

这是对Maven中使用的Maven项目描述符的引用。 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/…