对表的简单查询

2023-11-05

SQL命令对表进行查询

(1) 无条件查询

无条件查询指只包含 SELECT…FROM 的查询,这种查询最简单,例如:

在S表中查询所有学生的学号SNo,姓名SN

select SNo , SN from S
(2)条件查询

当在表中查询满足某些条件的行时,则需要使用 WHERE 子句指定查询条件。WHERE 一般由以下三部分组成:

  • 列名

  • 比较运算符

  • 列名、常数

常用比较运算符如下

运算符 含义
= 、> 、< 、>= 、<= 、!= 、<> 比较大小
AND 、OR 、NOT 多重条件
IN 确定集合
BETWEEN AND 确定范围
LIKE 字符匹配
IS NULL 空值
  • 比较大小

查询分数不低于85分的学生的学号与姓名

select SNo , SN from S where Score >= 85
  • 多重条件

当 where 子句需要指定一个以上的查询条件时,需要使用逻辑运算符 and 、or 、not 将其连接成复合的逻辑表达式。期优先级 由高到低为: not、and、or ,用户可使用括号改变优先级。

查询分数不低于85分的女学生的学号与姓名

select SNo , SN from S where (Sex = '女') and (Score >= 85)
  • 确定集合

利用 in 可以查询属性值属于指定集合的元组;利用 not in 可以查询指定集合外的元组

查询选了选修课程号为 C1 或 C2的学生的学号与姓名

select SNo , SN from S where CNo in ('C1' , 'C2')
  • 确定范围

查询分数在60分~85分的学生的学号与姓名

select SNo , SN from S where Score between 60 and 85
  • 字符匹配

利用 like 进行 模糊查询 ,一般格式为:

<属性名> like <字符串常量>

属性名必须为字符型,字符串常量中的字符可以包含通配符,利用这些通配符,可以进行模糊查询,字符串中的通配符及功能如下表:

通配符 功能 实例
% 代表0个或多个字符 ‘ab%’,ab后可接任意字符串
_ 代表一个字符 ‘a_b’,a与b之间有一个字符
[] 表示在某一范围的字符 [0-9],0~9之间的字符
[^ ] 表示不在某一范围的字符 [^0-9],不在0~9之间的字符

查询姓张的同学的学号与姓名

select SNo , SN from S where SN like '张%'
  • 空值查询

某个字段没有值称为具有空值( NULL)。通常没有为一个列输入值时,该列的值就是空值,空值不同于0和空格,它不占任何储存空间。

查询没有考试成绩的学生的学号与姓名

select SNo , SN from S where Score is null

注意空值条件为 ” is null " 不能写为“ = null “

(3)统计汇总查询

SQL提供了许多库函数,增强了基本检索能力。常用的库函数如下:

函数名称 功能
avg 按列计算平均值
sum 按列计算值的总和
max 求一列的最大值
min 求一列的最小值
count 按列值统计个数
  • 例1

求选 C1 课程的学生考试成绩的总分,平均分,最高分,最低分

select sum(Score) as TotalScore, avg(Score) as AvgScore, max(Score) as MaxScore, min(Score) as MinScore
form SC
where (CNo = 'C1')

注意函数 sum 与 avg 只能对数值型字段进行计算

  • 例2

求计算机系学生的总数

select count(SNo) from S where Dept= '计算机'select count(*) from S where Dept= '计算机'

count(*)用来统计元组的个数,不消除重复行

  • 例3

求学校中共有多少个系

select count(distinct Dept) from S

加入关键字 distinct 后表示消去重复行

(4)分组查询

group by 子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的值。若在分组后按照一定的条件进行筛选,则需要使用having 子句。

查询选修两门及以上的课程的学生的学号和选课门数

select SNo,count(*) from SC group by SNo having(count(*) >=2)

当一个查询中同时使用 where 子句,group by 子句,having 子句时,其顺序是 where,group by,having 。

(5)对查询结果排序

当要对查询结果进行排序时,使用 order by 子句,order by 子句必须出现在其他子句之后。排序方式可以指定,desc 为降序,asc 为升序,缺省时为升序。

查询选修C1课程的学生的学号和成绩,并按成绩降序排列

select SNo,Score from SC where (CNo = 'C1') order by score desc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对表的简单查询 的相关文章

随机推荐

  • linux:Temporary failure in name resolution&Couldn’t resolve host

    所有域名无法正常解析 ping www baidu com 等域名提示 Temporary failure in name resolution错误 root localhost ping www baidu com ping www ba
  • 开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表

    开源数据库 H2 HSQLDB DERBY PostgreSQL MySQL区别 对比图表
  • 通过Idea或命令将本地项目上传至git

    通过Idea或命令将本地项目上传至git 一 Git创建仓库 1 登录Gitee账号 点击新建 2 填写如下相关信息 点击创建 3 在此处可以复制项目链接 二 Idea配置和解绑git 提交项目 1 idea打开项目 操作如下 2 在弹框里
  • 关于getComputedStyle的第二个参数的解释

    最近别人问了我一下getComputedStyle的封装过程为什么要写if currentStyle 我当时也没反应过来 毕竟好长时间没有用了 因此决定来探究一下这个getComputedStyle 函数 即是温习也是和大家分享 如果有不对
  • Java Thread类的静态Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler()方法(带示例)...

    线程类静态Thread UncaughtExceptionHandler getDefaultUncaughtExceptionHandler Thread Class static Thread UncaughtExceptionHand
  • 程序“[1344] MyProject2.exe: 本机”已退出,返回值为 0 (0x0) 错误解决方法

    笔记本用的是win7 64位的系统 没法再用以前的VC6 0了 所以就用了VS2010 在编写窗口程序的时候 运行的时候总是一闪而过 并输出以下的信息 还真是麻烦呀 MyProject2 exe 已加载 D vc练习 MyProject2
  • 海湾主机汉字注释表打字出_海湾消防主机字根表-海湾消防主机

    1洁2964金2980 津2982紧2984锦2985仅2986进2988禁2991荆3003 京3009精3011经3013井3014警3015镜3021九3037 酒3038救3040旧3041居3051菊3053局3054巨3062
  • 性能测试之压力测试

    文章目录 一 基本介绍 二 性能指标 三 下载安装JMeter 1 下载安装包 2 启动JMeter 四 使用JMeter 1 模拟用户请求 2 填写测试地址 3 接收测试结果 4 结果解释 一 基本介绍 压力测试考察当前软硬件条件下系统所
  • 学爬虫之前必须先了解的基础

    爬虫的基础 1 先介绍一下啥是爬虫 在这我也就不扯啥嘴皮子了 简单讲 爬虫就是将前端网页上的数据通过一定的方式爬取下来 一般爬虫可以分为 通用爬虫 和 聚焦爬虫 两种 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统 Baidu Google
  • 【Android-JetpackCompose】13、实战在线课程 App

    文章目录 一 BottomNavigation 底部导航 1 1 底部导航栏的布局 点击 1 2 设置 bottomBar 的颜色 1 3 设置顶部 actionBar 的颜色 二 主页 StudyScreen 2 1 顶部状态栏 2 2
  • HTML表格(table)实例

    实例1 课程表 table border 1 width 60 cellpadding 2 caption 课程表 caption tr align center td 时间 日期 td td 一 td tr table
  • 附近的商店

    看着每天的感染数据在下降 上海解封的日子快到了 打开美团看看附近店铺有没有好吃 准备解封大吃特吃一顿 排序按照距离优先 还有附近几公里之内的店铺 想了解这个功能怎么实现的 查了网上资料 得到的常用的算法是 geohash 和 S2 Geoh
  • Reverse题常规步骤

    Reverse题常规步骤 1 查壳 一般难度的题目都是加了壳的 都需要进行壳分析 2 脱壳 有壳就脱壳 3 IDA逆向 脱完壳以后用IDA进行逆向分析
  • CentOS7.x环境下安装Docker以及常用命令

    Docker官方建议在Ubuntu中安装 因为Docker是基于Ubuntu发布的 而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的 在很多版本的CentOS中是不支持更新最新的一些补丁包的 我这里将Docker安装到阿里云
  • 人脸识别损失函数综述(附开源地址)

    原文 人脸识别损失函数综述 附开源地址 原文地址 https zhuanlan zhihu com p 51324547 常用的度量学习损失方法有对比损失 Contrastive loss 三元组损失 Triplet loss 四元组损失
  • Android 蓝牙串口通信Demo

    目录 一 前言 二 效果图 三 源码 带注释 1 布局代码 2 Java代码 3 权限声明 四 注意 五 项目源码下载 一 前言 在学校和机电的同学组队准备做一个智能小车去参加比赛 需要我开发一个小车的控制app 所以我开始学习蓝牙串口通信
  • 一文带你深入了解HTTP

    http的发展史 在学习网络之前 了解它的历史能够帮助我明白为何它会发展为如今这个样子 能让我有探究它的兴趣 下面的这张图片就展示了 互联网 诞生至今的发展历程 http是什么 HyperTextTransferProtocol 直译为 超
  • sql代码转换小工具(delphi)

    1 下载 2 粘贴sql语句 3 msql转换为delphi sql语句
  • shell脚本基础3——正则表达式

    文章目录 一 基本了解 二 基本正则表达式 2 1 字符匹配 2 2 位置锚定 2 3 匹配次数 2 4 分组 三 扩展正则表达式 3 1 字符匹配 3 2 位置锚定 3 3 匹配次数 3 4 分组 3 5 或者 一 基本了解 正则表达式分
  • 对表的简单查询

    SQL命令对表进行查询 目录 SQL命令对表进行查询 1 无条件查询 2 条件查询 3 统计汇总查询 4 分组查询 5 对查询结果排序 1 无条件查询 无条件查询指只包含 SELECT FROM 的查询 这种查询最简单 例如 在S表中查询所