SQL 简单查询

news2024/11/16 1:44:21

目录

一、投影查询

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.coloradmin.cn/o/1942995.html

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

相关文章

深度学习 —— 个人学习笔记6(权重衰减)

声明 本文章为个人学习使用&#xff0c;版面观感若有不适请谅解&#xff0c;文中知识仅代表个人观点&#xff0c;若出现错误&#xff0c;欢迎各位批评指正。 十三、权重衰减 使用以下公式为例做演示&#xff1a; y 0.05 ∑ i 1 d 0.01 x i ε w h e r e ε &#xff5e; N…

勇闯高龄“禁区”,四川眼科医院成功为95岁高龄老人实施泪道手术

一吹风就流泪、眼角总有擦不干净的分泌物……很多人以为这只是个滴眼药就能解决的小问题。其实不然&#xff0c;“不起眼”的疾病发展严重时可能还会需要手术治疗。 近日&#xff0c;四川眼科接诊了一位眼泪汪汪的耄耋老人张奶奶&#xff08;化名&#xff09;&#xff0c;此次…

vue2 使用代码编辑器插件 vue-codemirror

vue 使用代码编辑器插件 vue-codemirror 之前用过一次&#xff0c;当时用的一知半解的&#xff0c;所以也没有成文&#xff0c;前几天又因为项目有需求&#xff0c;所以说有用了一次&#xff0c;当然&#xff0c;依旧是一知半解&#xff0c;但是还是稍微写一下子吧&#xff01;…

学习测试10-4自动化 web自动化

网页资源 链接: https://pan.baidu.com/s/17XL2c2lkw_R6BD–VnOQqw?pwd43dr 提取码: 43dr 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 框架之间切换 driver.switch_to.frame("idframe1") # 父切子 参数用id和name# 子切子必须先转回父 driver.sw…

数据分析:微生物数据的荟萃分析框架

介绍 Meta-analysis of fecal metagenomes reveals global microbial signatures that are specific for colorectal cancer提供了一种荟萃分析的框架&#xff0c;它主要基于常用的Wilcoxon rank-sum test和Blocked Wilcoxon rank-sum test 方法计算显著性&#xff0c;再使用分…

STM32自己从零开始实操10:PCB全过程

一、PCB总体分布 分布主要参考有&#xff1a; 方便供电布线。方便布信号线。方便接口。人体工学。 以下只能让大家看到各个模块大致分布在板子的哪一块&#xff0c;只能说每个人画都有自己的理由&#xff0c;我的理由如下。 还有很多没有表达出来的东西&#xff0c;我也不知…

Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

&#x1f3af;要点 &#x1f3af;算法随机图模型数学概率 | &#x1f3af;图预期度序列数学定义 | &#x1f3af;生成具有任意指数的大型幂律网络&#xff0c;数学计算幂律指数和平均度 | &#x1f3af;随机图分析中巨型连接分量数学理论和推论 | &#x1f3af;生成式多层网络…

如何解决Windows系统目录权限问题

目录 前言1. 为什么会出现权限问题2. 修改文件权限的步骤2.1 确定目标文件2.2 右键属性设置2.3 更改所有者2.4 修改权限2.5 确认修改 3. 替换文件3.1 拷贝新的文件3.2 验证替换结果 结语 前言 在Windows系统中&#xff0c;时常需要往C盘系统目录下拷贝或者替换文件。然而&…

【Python系列】JSON 序列化性能对比分析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【学术会议征稿】第五届计算机工程与智能通信国际研讨会(ISCEIC 2024)

第五届计算机工程与智能通信国际研讨会&#xff08;ISCEIC 2024&#xff09; 2024 5th International Symposium on Computer Engineering and Intelligent Communications (ISCEIC 2024) 第五届计算机工程与智能通信国际研讨会&#xff08;ISCEIC 2024&#xff09;将于2024年…

安全管理(EHS系统)是什么?化工企业如何进行安全管理?

化工企业一般会涉及到易燃易爆、有毒有害的原材料和产品&#xff0c;生产环境有高温高压、腐蚀性强等危险因素。一旦管理不善或操作失误&#xff0c;极易引发火灾、爆炸、中毒等严重事故&#xff0c;不仅有人身伤害&#xff0c;还会给企业带来巨大损失&#xff0c;甚至影响社会…

如何快速批量修改照片拍摄日期?一键批量搞定拍摄日期修改教程

在摄影爱好者、专业摄影师甚至普通用户中&#xff0c;照片不仅仅是视觉记录&#xff0c;它们还承载着时间和地点的印记。当需要调整大量照片的拍摄日期时&#xff0c;手动操作显然不是最高效的方法。幸运的是&#xff0c;现代文件管理工具如“简鹿文件批量重命名”软件提供了批…

数据隐私保护与区块链技术的结合:新兴趋势分析

在当今数字化时代&#xff0c;数据隐私保护成为了一个备受关注的重要话题。随着个人数据的不断生成和流通&#xff0c;如何有效保护用户的隐私成为了技术创新的一个重要方向。区块链技术作为一种去中心化、安全性高且可追溯的技术手段&#xff0c;正在逐渐成为解决数据隐私保护…

Android --- 广播

广播是什么&#xff1f; 一种相互通信&#xff0c;传递信息的机制&#xff0c;组件内、进程间&#xff08;App之间&#xff09; 如何使用广播&#xff1f; 组成部分 发送者-发送广播 与启动其他四大组件一样&#xff0c;广播发送也是使用intent发送。 设置action&#xff…

RoundCube搭建安装教程:服务器配置方法?

RoundCube搭建安装教程的疑问解析&#xff01;怎么搭建邮件系统&#xff1f; RoundCube是一款开源的Web邮件客户端&#xff0c;具有现代化的用户界面和丰富的功能&#xff0c;可以通过浏览器访问邮件服务器。AokSend将详细介绍如何在服务器上配置和安装RoundCube&#xff0c;以…

JS语法学习

找到官方库&#xff0c;查看相应资料&#xff1a;&#xff08;都可以切换为中文版本的&#xff09; 可以在 JavaScript 的官方网站上查看最新的语法规范和文档。JavaScript 的官方网站是 developer.mozilla.orghttps://developer.mozilla.org/en-US/docs/Web/JavaScript。那里…

尚庭公寓开发笔记(一)

本篇文章讲的是p前五十节课 可以关注后续 传统的数据库设计流程 分为三个阶段&#xff1a;概念模型设计阶段 逻辑模型设计阶段 物理模型设计 阶段 为本项目设计数据库模型 地图的存储只需要保存经纬度就ok 本项目采用的是mysql数据库 所有表都使用的是innnodb存储引擎 我们使…

数据编织 VS 数据仓库 VS 数据湖

目录 1. 什么是数据编织?2. 数据编织的工作原理3. 代码示例4. 数据编织的优势5. 应用场景6. 数据编织 vs 数据仓库6.1 数据存储方式6.2 数据更新和实时性6.3 灵活性和可扩展性6.4 查询性能6.5 数据治理和一致性6.6 适用场景6.7 代码示例比较 7. 数据编织 vs 数据湖7.1 数据存储…

内网安全:IPC横向

IPC计划任务横向 IPC配合系统服务横向 前言&#xff1a; IPC是为了实现进程之间的通信而开放的管道。IPC可以通过验证用户名和密码来获取相应的权限。通过IPC可以与目标机器建立连接。 IPC计划任务横向 本次目标&#xff1a;通过机器192.168.11.40&#xff0c;横向控制机器192…

dependency-check-maven依赖漏洞扫描

引入插件依赖&#xff1a; <plugin><groupId>org.owasp</groupId><artifactId>dependency-check-maven</artifactId><version>7.0.4</version><configuration><autoUpdate>false</autoUpdate><dataDirectory&g…