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子句中。

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

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

相关文章

Docker_一刀流_好用、好玩还方便_(持续更新)

Docker 简介一、镜像和容器的概念镜像&#xff08;Image&#xff09;容器&#xff08;Container&#xff09;镜像和容器的关系 宿主机二、Dockerfile2.1 什么是Dockerfile2.2 Dockerfile中的常见指令2.3Dockerfile实例2.4 详细扩展 三、镜像3.1 镜像的创建3.2对于镜像的一些常用…

知识表示 | 利用 Protégé 软件构建小型本体

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本项目旨在利用 Protg 软件构建小型本体&#xff0c;探索本体建模的实际应用&#xff0c;特别是应用本体与上层本体之间的关系继承与映射。我们将重点理解应用本体如何继承上层本体的关系&#xff0c;以及如何通过推理机制揭示实…

一起搭WPF界面之MVVM架构的简单搭建

一起搭WPF界面之MVVM架构的简单搭建 1 前言2 创建项目2.1新建项目2.2WPF2.3创建完成 3 MVVM划分3.1 划分逻辑3.2文件夹创建3.3文件创建3.3.1 Views——可在主界面的基础上&#xff0c;划分多个用户控件模块3.3.2 ViewModels——创建数据结构存放的cs文件3.3.3 Models——创建处…

网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程

前言 1.入行网络安全这是一条坚持的道路&#xff0c;三分钟的热情可以放弃往下看了。2.多练多想&#xff0c;不要离开了教程什么都不会了&#xff0c;最好看完教程自己独立完成技术方面的开发。3.有时多百度&#xff0c;我们往往都遇不到好心的大神&#xff0c;谁会无聊天天给…

用神经网络求解微分方程

微分方程是物理科学的主角之一&#xff0c;在工程、生物、经济甚至社会科学中都有广泛的应用。粗略地说&#xff0c;它们告诉我们一个量如何随时间变化&#xff08;或其他参数&#xff0c;但通常我们对时间变化感兴趣&#xff09;。我们可以了解人口、股票价格&#xff0c;甚至…

艺术成分很高的完全自定义的UITabBar(很简单)

引言 在iOS应用开发中&#xff0c;UITabBar是一个非常场景且重要的UI组件。系统为我们提供的UITabBar虽然功能强大&#xff0c;但是在某些情况下&#xff0c;它的标准样式并不能满足我们特定的设计需求&#xff0c;它的灵活性也有一些局限。为了打造更具个性化好的用户友好的交…

显卡驱动程序下载失败的原因及对策

在数字时代&#xff0c;显卡作为电脑的心脏部件之一&#xff0c;其驱动程序的正常运行是保证图形处理性能的关键。然而&#xff0c;不少用户在尝试下载显卡驱动程序时遭遇失败&#xff0c;这不仅影响了日常使用体验&#xff0c;还可能埋下系统不稳定的风险。本文将深入探讨显卡…

Mamba中的Mamba:在标记化Mamba模型中的集中式Mamba跨扫描高光谱图像分类

摘要 https://arxiv.org/pdf/2405.12003 高光谱图像&#xff08;HSI&#xff09;分类在遥感&#xff08;RS&#xff09;领域至关重要&#xff0c;尤其是随着深度学习技术的不断进步。顺序模型&#xff0c;如循环神经网络&#xff08;RNNs&#xff09;和Transformer&#xff0…

java题目之数字加密以及如何解密

public class Main6 {public static void main(String[] args) {// 某系统的数字密码&#xff08;大于0&#xff09;&#xff0c;比如1983&#xff0c;采用加密方式进行传输//定义了一个静态数组int []arr{1,9,8,3};//1.加密//先给每位数加上5for (int i 0; i <arr.length …

随机变量的数学期望

目录 简介 基本概念 数学期望的定义 数学期望的性质 数学期望的应用 计算实例 数学期望在解决哪些具体问题时最为有效&#xff1f; 如何计算两个或多个随机变量的组合概率及其期望值&#xff1f; 1. 计算组合概率 2. 计算期望值 当涉及到两个或多个随机变量的组合时&…

git实操之线上分支合并

线上分支合并 【 1 】本地dev分支合并到本地master上 # 本地dev分支合并到本地master上# 远程(线上)分支合并# 本地dev分支合并到本地master上# 远程(线上)分支合并#####本地和线上分支同步################ #### 远程创建分支&#xff0c;拉取到本地####-远程创建分支&#…

自定义Bean转换工具类

BeanConvertor工具类&#xff1a;简化Java对象转换的利器 在Java开发中,我们经常需要在不同的对象之间转换数据。这可能是因为我们需要将数据从一个层(如数据访问层)转移到另一个层(如服务层或表示层),或者是因为我们需要将外部API的数据结构转换为我们的内部数据结构。这种转…

华为云.云日志服务LTS及其基本使用

云计算 云日志服务LTS及其基本使用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…

2024最新版虚拟便携空调小程序源码 支持流量主切换空调型号

产品截图 部分源代码展示 urls.js Object.defineProperty(exports, "__esModule", {value: !0 }), exports.default ["9c5f1fa582bee88300ffb7e28dce8b68_3188_128_128.png", "E-116154b04e91de689fb1c4ae99266dff_960.svg", "573eee719…

mysql的索引、事务和存储引擎

目录 索引 索引的概念 索引的作用 作用 索引的副作用 创建索引 创建索引的原则和依据 索引的类型 创建索引 查看索引 删除索引 drop 主键索引 普通索引 添加普通索引 唯一索引 添加唯一索引 组合索引 添加组合索引 查询组合索引 全文索引 添加全文索引 …

构建高效Node.js中间层:探索请求合并转发的艺术

&#x1f389; 博客主页&#xff1a;【剑九 六千里-CSDN博客】 &#x1f3a8; 上一篇文章&#xff1a;【CSS盒模型&#xff1a;掌握网页布局的核心】 &#x1f3a0; 系列专栏&#xff1a;【面试题-八股系列】 &#x1f496; 感谢大家点赞&#x1f44d;收藏⭐评论✍ 引言&#x…

接口测试JMeter-1.接口测试初识

第一章 接口测试初识 1. 接口测试理论基础 “接口测试”一个让人觉得非常高大上的名词&#xff0c;特别是对于刚入门的测试同学而言。随着测试技术不断的深化&#xff0c;“接口测试”出现在我们视野中的频次越来越高。那么接口测试到底是如何做的&#xff1f;接口测试的优势又…

Flowable-SpringBoot项目集成

在前面的介绍中&#xff0c;虽然实现了绘制流程图&#xff0c;然后将流程图存储到数据库中&#xff0c;然后从数据库中获取流程信息&#xff0c;并部署和启动流程&#xff0c;但是部署的流程绘制器是在tomcat中部署的&#xff0c;可能在部分的项目中&#xff0c;需要我们将流程…

<数据集>pcb板缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;693张 标注数量(xml文件个数)&#xff1a;693 标注数量(txt文件个数)&#xff1a;693 标注类别数&#xff1a;6 标注类别名称&#xff1a;[missing_hole, mouse_bite, open_circuit, short, spurious_copper, spur…