SQL 简单查询
目录
一、投影查询
1、指定特定列查询
2、修改返回列名查询
3、计算值查询
二、选择查询
1、使用关系表达式
2、使用逻辑表达式
3、使用 BETWEEN关键字
4、使用 IN关键字
5、使用 LIKE关键字
6、使用 IS NULL/ NOT NULL关键字
7、符合条件查询
三、聚合函数查询
一、投影查询
-- 投影查询
SELECT [ ALL | DISTINCT ] [ TOP n [ PERCENT ] ]
{ * | { { column_name | expression | IDENTITYCOL | ROWGUIDCOL }
[ [ AS ] column_alias ] | column_alias = expression } [ , ... n ] }
-- ALL:指定返回所有记录,也包括重复行,默认设置。面向的是表中的数据(行)。
-- DISTINCT:指定显示所有记录,但不包括重复行。
-- TOP n [ PERCENT ]:指定从查询结果中返回前 n行,或前 n%行。
-- * :表示所有列。
-- column_name:指定要返回的列名。
-- expression:是列名、常量、函数以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。
-- column_alias:使用 AS关键字来给返回集中的字段设置别名。
本文中将以下标为列。
学生表 student

成绩表 sc

课程表 course

1、指定特定列查询
-- 查询 student表中的所有记录。
select * from student
-- 返回 student表中的学号,姓名和性别。
select sno,sname,ssex from student
-- 查看 student表中有哪些专业。
select distinct(specialty) from student
-- 查看 student表中的前 3行信息。
select top 3 * from student
-- 查看 student表中前 50%行的信息
select top 50 percent * from student
2、修改返回列名查询
在 SQL中,使用 AS关键字来修改返回集中的列名。
-- 返回 student表中所有学生的学号、姓名、性别信息,要求使用中文标题。
select sno as 学号,sname as 姓名,ssex as 性别 from student
或
select sno as '学号',sname as '姓名',ssex as '性别' from student
或
select sno '学号',sname '姓名',ssex '性别' from student
或
select '学号' = sno, '姓名' = sname, '性别' = ssex from student
3、计算值查询
在 SQL中,经常会对查询到的数据进行再次计算。
-- 查询 sc表中的数据,并将成 sc表中的成绩从100分制改成150分制。
select sno,cno,'150分制' = score*1.50 from sc
二、选择查询
1、使用关系表达式
| 查询条件 | 条件 |
|---|---|
| 比较运算符 | =,>,<,>=,<=,!=,<>(不等于),!>,!< |
| 确定范围 | BETWEEN AND,NOT BETWEEN AND |
| 确定集合 | IN,NOT IN |
| 字符匹配 | LIKE,NOT LIKE |
| 空值 | IS NULL,NOT NULL |
| 多重条件 | AND,OR,NOT |
-- 查看 sc表中,成绩大于等于80分的学号,课程号,成绩。
select sno,cno,score from sc
where score >= 80
2、使用逻辑表达式
| 逻辑运算符 | 描述 |
| NOT | 非,对表达式的否定。 |
| AND | 与,连接多个条件,所有的条件都成立时为真。 |
| OR | 或,连接多个条件,只要有一个条件成立时,就为真。 |
-- 查看计算机专业的男生信息。
select * from student
where ssex = '男' and specialty = '计算机'
-- 查看计算机专业或男生的信息。
select * from student
where specialty = '计算机' or ssex = '男'
3、使用 BETWEEN关键字
在 SQL中,使用 BETWEEN关键字可以很方便地限制查询数据的范围。BEWTEEN表达式完全可以使用含有 >=和 <=的逻辑表达式来代替。使用 NOT BETWEEN 表达式完全可以使用含有 >和 <的逻辑表达式来代替。
语法格式
表达式 [ NOT ] BETWEEN 表达式1 AND 表达式2
-- 查看成绩在80 ~90之间的学生学号,课程号和成绩。
select * from sc
where score >=80 and score <= 90
或
select * from sc
where score between 80 and 90-- 查看成绩不在80 ~90之间的学生学号,课程号和成绩。
select * from sc
where score not between 80 and 90
4、使用 IN关键字
在 SQL中,使用 IN关键字,也是为了更方便地限制检索数据的范围。
语法格式
表达式 [ NOT ] IN (表达式1,表达式2, ..., 表达式n)
-- 查看计算机专业 和通信工程专业的学生姓名,性别和专业。
select sname,ssex,specialty from student
where specialty in ('计算机', '通信工程')
5、使用 LIKE关键字
使用 LIKE关键字查询,又叫模糊查询,LIKE关键字搜索与指定模式匹配的字符串、日期或时间值。字符串中可以包含 4种通配符的任意组合。
| 通配符 | 描述 |
| % | 包含零个或多个字符的任意字符串。 |
| _ | 任意单个字符。 |
| [ ] | 代表指定范围的单个字符,[ ] 中可以是单个字符(如 [ aceg ]),也可以是字符范围(如 [ a-g ])。 |
| [ ^ ] | 代表不在指定范围内的单个字符,[ ^ ] 中可以是单个字符,也可以是字符范围。 |
-- 示例
like 'ac%':返回以 'ac' 开头的任意字符串。
like '%AB':返回以 'AB' 结尾的任意字符串。
like '%AC%':返回包含 'AC' 字符的任意字符串。
like '_ab%':返回包含 'ab' 结束的三个字符的字符串。
like '[ ABC ]%':返回以 'A' ,'B', 'C' 开头的任意字符串。
like '[ A-Z ] ing%':返回4个字符串,结尾是 'ing',首字符是范围从 A到 Z。
like 'M [ ^ c]':返回以 M开始,且第二个字符不是 'c'的任意长度的字符串。
-- 示例:查询 student表中张性的学生信息。
select * from student
where sname like '张%'
6、使用 IS NULL/ NOT NULL关键字
在 WHERE子句中,不能使用比较运算符对空值进行判断,只能使用空值表达式来判断某个字段值是否为空。
语法
表达式 IS [ NOT ] NULL
-- 示例:查看所有成绩为空的学生的学号、课程号和成绩。
select sno,cno,score from sc
where score is null
7、符合条件查询
在 WHERE中,可以使用逻辑运算符把若干个搜索条件合并起来,组合成复杂的符合搜索条件。在一个 WHERE子句中,同时包含多个逻辑运算符时,其优先等级从高到底依次是:NOT、AND、OR。
-- 示例:查询 student表中,专业为计算机 和网络工程的女生的信息。
select * from student
where ssex = '女' and
( specialty = '计算机' or specialty = '网络工程' )
三、聚合函数查询
在 SQL中,提供了一系列聚合函数,这些函数把存储在数据库中的数据描述为一个整体而不是一行行孤立的记录,通过使用这些函数可以实现数据集合的汇总或是求平均值等各种运算。
| 函数名 | 描述 |
| sum(列名) | 返回一个数字列的总和。 |
| avg(列名) | 对一个数据列计算平均值。 |
| min(列名) | 返回一个数字、字符串或日期列的最小值。 |
| max(列名) | 返回一个数字、字符串或日期列的最大值。 |
| count(列名) | 返回一个列的数据项数,条数。 |
| count(*) | 返回找到的函数 |
在 SELECT中子句中,可以使用聚合函数进行运算,运算结果作为新列出现在结果集中,但此列没有列名。在聚合运算的表达式中,可以包括列名、常量以及由算术运算符连接起来的函数。
-- 示例:查看 sc表中成绩的平均值,列标题为 ‘平均值’
select '平均值' = avg(score) from sc
-- 示例:查看 student表中专业个数。
select '专业个数' = count( distinct specialty) from student
-- 示例:查看学号为 '201501001'的平均成绩和最高成绩。
select avg(score),max(score) from sc
where sno = '201602001'
一般情况下,可以在两个地方使用聚合函数,即 SELECT子句 和 HAVING子句中。
相关文章:
SQL 简单查询
目录 一、投影查询 1、指定特定列查询 2、修改返回列名查询 3、计算值查询 二、选择查询 1、使用关系表达式 2、使用逻辑表达式 3、使用 BETWEEN关键字 4、使用 IN关键字 5、使用 LIKE关键字 6、使用 IS NULL/ NOT NULL关键字 7、符合条件查询 三、聚合函数查询 一…...
YOLOv9-0.1部分代码阅读笔记-metrics.py
metrics.py utils\metrics.py 目录 metrics.py 1.所需的库和模块 2.def fitness(x): 3.def smooth(y, f0.05): 4.def ap_per_class(tp, conf, pred_cls, target_cls, plotFalse, save_dir., names(), eps1e-16, prefix""): 5.def compute_ap(recall, prec…...
KaiOS 4.0 | DataCall and setupData implemention
相关文档 1、KaiOS 3.1 系统介绍 KaiOS 系统框架和应用结构(APP界面逻辑)文章浏览阅读842次,点赞17次,收藏5次。对于Java开发者而言,理解JS的逻辑调用是有点困难的。而KaiOS webapp开发又不同于现代的web开发,更像chrome浏览器内嵌模式。在这里梳理一下kaios平台web应用…...
nginx-rtmp服务器搭建
音视频服务器搭建 本文采用 nginx/1.18.0和nginx-rtmp-module模块源代码搭建RTMP流媒体服务器 流程 查看当前服务器的nginx版本下载nginx和nginx-rtmp-module源代码重新编译nginx,并进行相关配置(nginx.conf、防火墙等)客户端测试连接测试搭…...
[c++进阶(三)]单例模式及特殊类的设计
1.前言 在实际场景中,总会遇见一些特殊情况,比如设计一个类,只能在堆上开辟空间, 或者是设计一个类只能实例化一个对象。那么我们应该如何编写代码呢?本篇将会详细的介绍 本章重点: 本篇文章着重讲解如何设计一些特殊 的类,包括不能被拷贝,只能在栈/堆上…...
企业内训|高智能数据构建和多模态数据处理、Agent研发及AI测评技术内训-吉林省某汽车厂商
吉林省某汽车厂商为提升员工在AI大模型技术方面的知识和实践能力,举办本次为期8天的综合培训课程。本课程涵盖“高智能数据构建与智驾云多模态数据处理”、“AI Agent的研发”和“大模型测评”三大模块。通过系统梳理从非结构化数据的高效标注与融合,到L…...
009 Qt_显示类控件_QLCDNumber、ProgressBar、Calendar
文章目录 前言LCD NumberProgressBarCalendar Widget 小结 前言 本文将会向你介绍显示类控件中QLCDNumber显示数字、ProgressBar进度条、Calendar日历 LCD Number QLCDNumer 是⼀个专门用来显示数字的控件. 类似于 “老式计算器” 的效果. 属性说明intValueQLCDNumber 显示…...
--spring.profiles.active=prod
rootproduct-qualification:~# ps -ef | grep java root 5110 1 3 16:57 ? 00:00:54 java -jar productQualification.jar --spring.profiles.activeprod root 6476 5797 0 17:26 pts/0 00:00:00 grep --colorauto java好的,你使用 ps …...
深入解析JVM中对象的创建过程
1. 引言 对象是面向对象编程的核心概念之一,它们封装了数据和行为,构成了应用程序的基本构建块。然而,在Java语言中,每当使用new关键字或其他方式创建一个新对象时,背后发生了什么?这个问题的答案隐藏在JV…...
使用开源在线聊天工具Fiora轻松搭建个性化聊天平台在线交流
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能教程 文章目录 前言1.关于Fiora2.安装Docker3.本地部署Fiora4.使用Fiora5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime …...
ffmpeg之显示一个yuv照片
显示YUV图片的步骤 1.初始化SDL库 目的:确保SDL库正确初始化,以便可以使用其窗口、渲染和事件处理功能。操作:调用 SDL_Init(SDL_INIT_VIDEO) 来初始化SDL的视频子系统。 2.创建窗口用于显示YUV图像: 目的:创建一个…...
MySQL中Performance Schema库的详解(下)
昨天说了关于SQL语句相关的,今天来说说性能相关的,如果没有看过上篇请点传送门https://blog.csdn.net/2301_80479959/article/details/144693574?fromshareblogdetail&sharetypeblogdetail&sharerId144693574&sharereferPC&sharesource…...
【Rust自学】7.1. Package、Crate和定义Module
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.1.1. Rust的代码组织 代码组织主要包括: 那些细节可以对外暴露,而哪些细节是私有的在作用域内哪些名称有效… …...
【Git】-- 版本说明
Alpha:是内部测试版,一般不向外部发布,会有很多 Bug .一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在 Alpha 版之后推出。RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台…...
1919C. Grouping Increases
问题描述 序列 X X X,划分成两个字序列 A , B A,B A,B,其中惩罚是 A , B A,B A,B之中, A [ i ] < A [ i 1 ] , B [ i ] < B [ i 1 ] A[i] < A[i1], B[i] < B[i1] A[i]<A[i1],B[i]<B[i1]的个数 思路 拆分 X X X…...
Pion WebRTC 项目教程
Pion WebRTC 项目教程 webrtc Pure Go implementation of the WebRTC API [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/we/webrtc 1. 项目目录结构及介绍 Pion WebRTC 项目的目录结构如下: pion/webrtc ├── api ├── examples ├── inter…...
【安全编码】Web平台如何设计防止重放攻击
我们先来做一道关于防重放的题,答案在文末 防止重放攻击最有效的方法是( )。 A.对用户密码进行加密存储使用 B.使用一次一密的加密方式 C.强制用户经常修改用户密码 D.强制用户设置复杂度高的密码 如果这道题目自己拿不准,或者…...
VUE3+django接口自动化部署平台部署说明文档(使用说明,需要私信)
网址连接:http://118.25.110.213:5200/#/login 账号/密码:renxiaoyong 1、VUE3部署本地。 1.1本地安装部署node.js 1.2安装vue脚手架 npm install -g vue/cli # 或者 yarn global add vue/cli1.3创建本地项目 vue create my-vue-project1.4安装依赖和插…...
Python爬虫(入门+进阶)
简介 围绕 Python 爬虫展开,包括四个章节。第一章从 Python 爬虫入门,涵盖爬虫概念、Requests 爬取、Xpath 解析、数据保存及入库等知识,并结合知乎、豆瓣、淘宝等案例讲解浏览器抓包及 Selenium 爬取动态网页。第二章介绍 Scrapy 框架&…...
保姆级教程Docker部署RabbitMQ镜像
目录 1、安装Docker及可视化工具 2、创建挂载目录 3、运行RabbitMQ容器 4、Compose运行RabbitMQ容器 5、开启界面插件 6、查看RabbitMQ运行状态 7、常见问题处理 1、安装Docker及可视化工具 Docker及可视化工具的安装可参考:Ubuntu上安装 Docker及可视化管理…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
