关系数据库标准语言SQL(7,8)

目录

选择表中若干元组

消除取值重复的行

查询满足条件的元组

比较大小

确定范围

确定集合

字符匹配

匹配串为含通配符的字符串

使用换码字符将通配符转义为普通字符

涉及空值的查询

多重条件查询

order by字句

例子

聚集函数

GROUP BY 子句

HAVING语句与WHERE语句的区别


选择表中若干元组

消除取值重复的行

如果没有指定DISTINCT关键词,

则缺省为ALL

【例】查询选修了课程的学生学号。 SELECT Sno FROM SC;等价于:SELECT ALL Sno FROM SC;

没distinct默认为all。

【例】指定DISTINCT关键词,去掉表中重复的行。 SELECT DISTINCT Sno FROM SC;

查询满足条件的元组

查询满足条件的元组可以通过where子句实珂,where常用的查询条件如下:

确定范围 BETWEEN AND,NOT BETWEEN AND

确定集合 IN,NOT IN

字符匹配 LIKE,NOT LIKE

空值 IS NULL,IS NOT NULL

多重条件(逻辑运算) AND,OR,NOT

还有比较>,<,>=等,其中<>是不等于的意思与!=同义

比较大小

【例】查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage FROM Student WHERE Sage<20;

【例】查询考试成绩有不及格的学生的学号。 SELECT DISTINCT Sno FROM SC WHERE Grade<60;

distinct保证查出的学号不重复。

确定范围

【例】查询年龄在20~23岁(包括20岁和23岁)之间的学生,姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;

【例】查询年龄不在20~23岁之间的学生,姓名、系别和年龄 SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23;

确定集合

【例】查询信息系数学系和计算机科学系学生的姓名和性别 SELECT Sname,Ssex FROM Student WHERE SdeptIN('IS','MA','CS');

【例】查询既不是信息系、数学系,也不是计算机科学系学生的姓名和性别。 SELECT Sname,Ssex FROM Student WHERE Sdept NOT IN (IS','MA','CS');

字符匹配

【例】查询学号为200215121的学生的详细情况。 SELECT FROM Student WHERE Sno LIKE 200215121';等价于: SELECT FROM Student WHERE Sno='200215121';

匹配串为含通配符的字符串

【例】查询所有姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname LIKE刘%

【例】查询姓“欧阳”且全名为三个汉字的学生的姓名 SELECT Sname FROM Student WHERE Sname LIKE‘欧阳_’;

【例】查询名字中第二个字为“阳”字的学生的姓名和学号。 SELECT Sname,Sno FROM Student WHERE Sname LIKE‘_阳%’

【例】查询所有不姓刘的学生姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student WHERE S Sname NOT LIKE 刘%;

使用换码字符将通配符转义为普通字符

SELECT FROM Course WHERE Cname LIKE'DB\_%i ESCAPE \

说明:ESCAPE表示为换码字符。这里的\表示like里出现的一个_是实际的_而不是空出来的一个字符。

涉及空值的查询

谓词:IS NULL或IS NOT NULL“1S”不能用=代替。

多重条件查询

用逻辑运算符AND和OR来联结多个查询条件,AND的优先级高于 OR,可以用括号改变优先级。可用来实现多种其他谓词:[NOT] IN[NOT]BETWEEN AND

order by字句

ORDER BY子句可以按一个或多个属性列排序:

升序:ASC;降序:DESC;缺省值为升序。

当排序列含空值时:空值默认为最大值 

ASC:排序列为空值的元组最后显示。

DESC:排序列为空值的元组最先显示。

例子

【例】查询选修了3男课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC WHERE Cno='3'ORDER BY Grade DESC;

聚集函数

COUNT([DISTINCT|ALL]统计元组个数

COUNT[DISTINCT |ALL<列名>)统计一列中值的个数

SUM([DISTINCT|ALL]列名>)计算一列值的总和(此列必须是数值型

AVG ([DISTINCT |ALL]<列名>)计算一列值的平均值(此列必须是数值型)

MAX[DISTINCT ALL]<列名>)求一列值的最大值

MIN[DISTINCT ALL]<列名>)求一列值的最小值

【注意】,WHERE子句中是不能用聚集函数作为条件表达式的。聚集函数只能用于SELECT子句和GROUPBY中的HAVING子句。

GROUP BY 子句

GROUP BY子句作用是:按指定的一列或多列值分组,值相等为一组,来细化聚集函数的作用对象

【说明】①未对查询结果分组,聚集函数将作用于整个查询结

②对查询结果分组后,聚集函数将分别作用于每个组。

GROUPE BY子句分组后,可以使用HAVING:短语指定筛选条件。

【例】查询选修了3门以上课程的学生学号 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT (*)>3

HAVING语句与WHERE语句的区别

①作用对象不同:WHERE-子句作用千基表或视图,从中选择满足条件的元组。

HAVING短语作用于组,从中选择满足条件的组。

②WHERE子句中是不能用聚集函数作为条件表达式的

【例】查询平均成绩大于等于90分的学生学号和平均成绩。

下面的语句是不对的: SELECT Sno,AVG (Grade) FROM SC WHERE AVG (Grade)>=90 GROUP BY Sno

正确的查询语句应该是: SELECT Sno,AVG (Grade) FROM SC GROUP BY Sno HAVING AVG (Grade)>=90;

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

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

相关文章

【CKA】五、网络策略–NetworkPolicy

5、配置网络策略–NetworkPolicy 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 1、根据题目分析要创建怎样的网络策略 2、按题目要求查看ns corp-net的label 3、编写yaml&#xff0c;其中注意 namespace、label、port 3. 官网地址&#xff1a; https://kubernetes.io/…

解决connect因父类不明确而报错的问题

如图所示&#xff0c;connect函数报错&#xff0c;原因是connect的检查是在编译期完成的&#xff0c;而传入父类则是在运行时&#xff0c;从而引起connect不知道parent是谁而报错。只需加入类型转换即可。 connect(qobject_cast<TableWidget*>(parent), &TableWidg…

STM32F1+HAL库+FreeTOTS学习15——互斥信号量

STM32F1HAL库FreeTOTS学习15——互斥信号量 1. 优先级翻转2. 互斥信号量3. 相关API函数&#xff1b;3.1 互斥信号量创建3.2 获取信号量3.3 释放信号量3.4 删除信号量 4. 操作实验1. 实验内容2. 代码实现3. 运行结果 上期我们介绍了数值信号量。这一期我们来介绍互斥信号量 1. 优…

【计算机毕业设计】springboot企业客户信息反馈平台

摘 要 网络的广泛应用给生活带来了十分的便利。所以把企业客户信息反馈管理与现在网络相结合&#xff0c;利用java技术建设企业客户信息反馈平台&#xff0c;实现企业客户信息反馈的信息化。则对于进一步提高企业客户信息反馈管理发展&#xff0c;丰富企业客户信息反馈管理经验…

官网:视觉是第一记忆,没有记忆点的官网设计是失败的。

官方网站虽然不像之前那么火爆了&#xff0c;但是依然是企业展示品牌形象和吸引用户的重要渠道。仅仅拥有一个官方网站并不足以吸引用户&#xff0c;更重要的是网站的设计是否能够给用户留下深刻的记忆。 当前&#xff0c;用户对于网站的要求也越来越高&#xff0c;他们不仅仅希…

Arduino UNO R3自学笔记16 之 Arduino的定时器介绍及应用

注意&#xff1a;学习和写作过程中&#xff0c;部分资料搜集于互联网&#xff0c;如有侵权请联系删除。 前言&#xff1a;学习定时器的功能。 1.定时器介绍 定时器也是一种中断&#xff0c;属于软件中断。 它就像一个时钟&#xff0c;可以测量事件的时间间隔。 比如早…

重置linux后vscode无法再次使用ssh连接

如果你使用过vscode ssh远程连接了一个Linux系统&#xff0c;但该系统被重置了&#xff0c;并且关键配置没有改变。再次使用vscode连接时&#xff0c;vscode可能无法连接。 原因&#xff1a;vscode远程连接后会在C:\Users{{你的用户名}}.ssh下的known_hosts和known_hosts.old。…

停止模式下USART为什么可以唤醒MCU?

在MCU的停止模式下&#xff0c;USART之类的外设时钟是关闭的&#xff0c;但是USART章节有描述到在停止模式下可以用USART来对MCU进行唤醒&#xff1a; 大家是否会好奇在外设的时钟被关闭的情况下&#xff0c;USART怎么能通过接收中断或者唤醒事件对MCU进行唤醒的呢&#xff1…

2024多模态大模型发展调研

随着生成式大语言模型应用的日益广泛&#xff0c;其输入输出模态受限的问题日益凸显&#xff0c;成为制约技术进一步发展的瓶颈。为突破这一局限&#xff0c;本文聚焦于研究多模态信息的协同交互策略&#xff0c;旨在探索一种能够统一理解与生成的多模态模型构建方法。在此基础…

基于springboot+小程序的在线选课管理系统1(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于springboot小程序的在线选课管理系统实现了管理员、教师及学生。 1、管理员实现了首页、个人中心、管理员管理、教师管理、学生管理、课程信息管理、选课信息、公告管理、论坛管理、基…

Redis哨兵模式的搭建以及配置参数简介

原理 Redis哨兵模式是一种用于在Redis主从复制环境中进行高可用性监控和故障恢复的机制。该模式引入了一个或多个哨兵节点&#xff0c;这些节点负责监控Redis服务器的状态&#xff0c;并在主节点发生故障时切换为新的主节点。 哨兵节点的工作原理如下&#xff1a; 1、哨兵节点…

PDF阅读器工具集萃:满足你的多样需求

现在阅读书籍大部分都喜欢电子书的形式了吧&#xff0c;因为小小的一个设备就能存下上万本书。从流传程度来说PDF无疑是一个使用最广的格式。除了福昕PDF阅读器阅读之外还有哪些好用的阅读工具呢/&#xff1f;今天我们一起来探讨一下吧。 1.福昕阅读器 链接一下>>www.f…

MongoDB微服务部署

一、安装MongoDB 1.在linux中拉去MongoDB镜像文件 docker pull mongo:4.4.18 2. 2.创建数据挂载目录 linux命令创建 命令创建目录: mkdir -p /usr/local/docker/mongodb/data 可以在sshclient工具查看是否创建成功。 进入moogodb目录&#xff0c;给data赋予权限777 cd …

【算法】链表:21.合并两个有序链表(easy)

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法&#xff08;双指针&#xff09; 4、代码 1、题目链接 21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 2、题目介绍 3、解法&#xff08;双指针&#xff09; 推荐一篇题解…

计算机毕业设计Python+Spark知识图谱高考分数线预测 高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 大数据毕业设计

《PythonSpark知识图谱高考分数线预测与志愿推荐系统》开题报告 一、课题背景及意义 1. 背景 随着我国高考制度的不断完善以及大数据技术的快速发展&#xff0c;高考志愿推荐系统的需求日益增长。高考作为中国教育体系中的重要环节&#xff0c;其志愿填报直接关系到考生的未…

双指针--收尾的两道题

双指针 (封面起到吸引读者作用&#xff0c;和文章内容无关哈&#xff0c;但是文章也是用心写的&#xff09; 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums…

Arduino UNO R3自学笔记13 之 Arduino使用LM35如何测量温度?

注意&#xff1a;学习和写作过程中&#xff0c;部分资料搜集于互联网&#xff0c;如有侵权请联系删除。 前言&#xff1a;学习使用传感器测温。 1.LM35介绍 一般来讲当知道需求&#xff0c;就可以 通过既定要求的条件来筛选需要的器件&#xff0c;多方面的因素最终选定了器件…

鸿蒙开发需要学什么语言

随着物联网(IoT)技术的发展&#xff0c;操作系统作为连接人与智能设备的关键桥梁变得尤为重要。鸿蒙系统(HarmonyOS)&#xff0c;作为华为推出的一款面向全场景的分布式操作系统&#xff0c;不仅在国内引起了广泛关注&#xff0c;在国际上也逐渐崭露头角。对于开发者而言&#…

全新升级的GUI: Depthai Viewer 使用指南发布

DepthAIViewer是一个 GUI 应用程序&#xff0c;可让您通过实时输出可视化图像来使用相机。 DepthAIViewer 是 DepthAI 和 OAK 相机的可视化工具。它在默认情况下将运行一个演示应用程序&#xff0c;该应用程序将可视化所有steam在设备上运行推理。它还允许您更改设备的配置。当…

CTMO时代下的营销新力量:2+1链动模式AI智能名片商城小程序

在当今这个瞬息万变的商业世界里&#xff0c;营销领域正经历着一场深刻的变革。传统的CMO岗位似乎在时代的浪潮中逐渐失去了它的光芒&#xff0c;CTMO正在悄然取代传统CMO的岗位。 随着营销丛林现象的出现&#xff0c;企业面临着前所未有的挑战。许多企业发现&#xff0c;那些传…