查询数据(数据库)——简单查询

article/2025/10/4 18:39:17

目录

1.最简单的查询

(1)查询指定列

(2)查询所有列

(3)查询计算列

(4)为列起别名

(5)使用DISTINCT关键字消除重复元组

2.查询满足条件的元组

(1) 比较大小

(2) 确定范围

(3) 确定集合

(4) 字符匹配

(5) 空值判断

(6) 组合条件

3.对查询结果排序


SQL用SELECT语句进行数据查询

SELECT语句的格式:

SELECT [DISTINCT] <目标列表达式>[,…n]

FROM <表名或视图名> [,…n ]

[WHERE <条件表达式> ]

[GROUP BY <列名1>[HAVING<列条件表达式> ] ]

[ORDER BY <列名2>[ASC | DESC] ]

SELECT语句的含义:

根据WHERE条件,从FROM指定的表中找出满足条件的元组,按目标列表达式,选出属性值,形成结果表。

1.最简单的查询

省略的一些可选成分,得最简单的查询命令:

SELECT [DISTINCT] <目标列表达式>[,…n ]

FROM <表名或视图名>

对一张表的某些列进行操作,功能为:

(1)查询指定列

(2)查询所有列

(3)查询计算列

(4)为列起别名

(5)使用DISTINCT关键字消除重复元组

(1)查询指定列

【例】查询全体学生的姓名、学号和电话号码。

SELECT 姓名, 学号, 移动电话

FROM 学生表

 列的输出顺序可以与表中的列顺序不同。

(2)查询所有列

【例】查询全体学生的详细信息

SELECT *

FROM 学生表

用“*”表示查询表的所有列。

(3)查询计算列

也可以查询由常量、变量和函数构成的表达式

【例】将累计学分降低10%后显示出来

SELECT 姓名, 累计学分, 累计学分- 累计学分*0.1

FROM 学生表

查询结果为:

姓名                 累计学分           (无列名)

王东                     160                  144

(4)为列起别名

目的:满足用户的习惯,为计算列起名。方法:

①<目标列表达式> [AS]<别名>

②<别名> =<目标列表达式>

【例】将每个学生的累计学分降低10%后显示出来,要求查询结果表的标题用英语或字母显示。

SELECT 姓名 AS name, 累计学分 Ogpa, Ngpa=累计学分- 累计学分*0.1

FROM 学生表

查询结果如下:

name            Ogpa           Ngpa 

王东               160              144 

当别名含有空格时要用单引号括起

(5)使用DISTINCT关键字消除重复元组

  • 无DISTINCT时,结果中可能含重复行
  • 有DISTINCT时,自动消除结果中的重复行

【例】查询每个院系有在读学生的专业。

SELECT DISTINCT 所在院系, 专业

FROM 学生表

查询结果如下:

所在院系             专业

信息学院            计算机

信息学院           信息管理

  • 结果中无重复行
  • DISTINCT应紧跟SELECT

2.查询满足条件的元组

通过在WHERE子句中指定查询条件来实现

WHERE子句常用的查询条件::

查询条件运算符备注
比较大小=, >, <,>=, <=, !>, !<双目运算
确定范围[NOT] BETWEEN AND三目运算
确定集合[NOT] IN双目运算
字符匹配[NOT] LIKE双目运算
空值判断IS [NOT] NULL单目运算
组合条件NOT,AND,OR,()NOT是单目,其余是双目,括号用于改变运算优先级

通过在WHERE子句中指定查询条件来实现

WHERE子句常用的查询条件

: (1) 比较大小

(2) 确定范围

(3) 确定集合

(4) 字符匹配

(5) 空值判断

(6) 组合条件

(1) 比较大小

查询条件: op_{1} \Theta op_{2}

\Theta(比较运算符 ):=, >, <,>=,<= , !>, !<

op_{1} 和 op_{2}:由常量、变量、函数构成的算术/字符串表达式 

【例】查询来自杭州的所有学生。

SELECT *

FROM 学生表

WHERE 籍贯='杭州'

【例】查询累计学分在160分以下的学生姓名和累计学分。

SELECT 姓名, 累计学分

ROM 学生表

WHERE 累计学分<60

(2) 确定范围

查询条件: op1 [NOT] BETWEEN op2 AND op3

op1 、 op2、 op3:由常量、变量、函数构成的算术/字符串表达式。

【 例】查询累计学分不在150和159之间的学生姓名和累计学分。

SELECT 姓名, 累计学分

FROM 学生表

WHERE 累计学分 NOT BETWEEN 150 AND 159

【例】查询姓名在’陈’和’李’之间的学生学号和姓名。

SELECT 学号, 姓名

FROM 学生表

WHERE 姓名 BETWEEN '陈' AND '李'

由字符串定义的范围是根据字符内码的顺序确定的(一般按字典顺序 )

(3) 确定集合

查询条件: op1 [NOT] IN op2

op1 :由常量、变量、函数构成的算术/字符串表达式

op2:集合,表示为(e1, e2,…, en),其中e1, e2,…, en为集合的元素,它们可以是与op1同类型的常量、变量和函数构成的表达式。

含义:若op1(不)是集合op2的元素,则条件为真,否则为假。

【例】查询来自杭州、宁波或温州的学生学号和姓名。

 SELECT Sno,Sname

FROM Student

WHERE Scity IN ('杭州','宁波','温州')

【例】查询学号后两位是“09”,或者等于学号前两位或中间两位的学生学号和姓名。

SELECT 学号, 姓名

FROM 学生表

WHERE SUBSTRING(学号,6,2) IN (‘09’,SUBSTRING(学号,2,2),SUBSTRING (学号,4,2))

SUBSTRING(s,p,c):取子串函数,返回字符串s中从第p个字符开始,长度为c的子串。

(4) 字符匹配

查询条件: s1 [NOT] LIKE s2 [ESCAPE ’’]

s1和s2是由常量、变量、函数构成的字符串表达式。

s1称为主字符串,s2称为模式字符串 。

模式字符串除了包含普通字符外,还包含下列特殊字符(称为通配符):

  • % 匹配任意长度的字符串(长度可以为0)
  • _ 匹配任意一个字符
  • [c1c2,…cn] 匹配字符c1, c2, …, cn中的一个。当c1, c2, …, cn 连续时可简化为[c1-cn]
  • [^c1c2…cn] 匹配除c1, c2, …, cn外的一个字符。当c1, c2, …, cn连续时可简化为[^c1-cn]
  • 含义:若s1(不)与s2相匹配,则条件为真,否则为假。

【例】查询学号最后一位既不是“1”和“3”,也不是“9”的学生学号和姓名。

SELECT 学号, 姓名

FROM 学生表

WHERE 学号 LIKE '%[^139]'

ESCAPE短语: 使模式串中的某个通配符恢复原来的含义。

【例】查询课程名以“DB_”开头的课程信息。

SELECT *

FROM 课程表

WHERE 课名 LIKE 'DB\_%' ESCAPE '\'

(5) 空值判断

查询条件: exp IS [NOT] NULL

  • exp 是由常量、变量、函数构成的表达式。
  • 含义:exp的值(不)为空值,则条件为真,否则为假。

【例】查询没有成绩的学号和开课计划编号。

SELECT 学号, 开课号

FROM 选课表

WHERE 成绩 IS NUL

注意“IS”不能用“=”代替。

【例5-18】查询有成绩的学号和开课计划编号。

SELECT 学号, 开课号

FROM 选课表

WHERE 成绩 IS NOT NULL

注意“IS NOT”不能用“!=”或“<>”代替。

(6) 组合条件

查询条件: 用NOT、AND、OR和括号将多个逻辑表达式连接起来所得的复杂逻辑表达式 。

  • 括号的优先级最高,NOT次之,AND再次之,OR的优先级最低。

【例】查询这样的男生,他的电话号码前3位是“130”,他来自杭州或者宁波,他既不主修电子商务专业,也不主修信息管理专业。

SELECT *

FROM 学生表

WHERE 性别 = ‘男’ AND SUBSTRING(移动电话, 1, 3) = ‘130’ AND ( 籍贯 = '杭州' OR 籍贯 = '宁波' ) AND NOT 专业 IN ('电子商务', '信息管理')

3.对查询结果排序

语法 : ORDER BY{<排序列>[ASC |DESC]}[,...n]

【例】 查询选修了开课计划编号为’010101’的课程的学生学号和成绩,查询结果按分数降序排列

SELECT Sno, Grade

FROM EnrollmentWHERE OnO ='010101

ORDER BY Grade DESC

可以用列在SELECT子中的顺序编号来指定排序列,上例的ORDER BY子可改为: ORDER BY 2 DESC

若需按SELECT子句中的计算列排序,则 ORDER BY子句可用三种方法来表示这个计算列:

1)列表达式;2)列顺序编号;3)列别名。

【例5-21】查询选修了开课计划编号为’010101’的课程的学生学号、成绩以及加了10分后的新成绩,查询结果按原成绩降序、按新成绩升序排列。

SELECT 学号, 成绩, 成绩+10 AS New成绩

FROM 选课表

WHERE 开课号 = '010101'

ORDER BY 成绩 DESC, 成绩+10

上例中的成绩+10也可改写为:New成绩或3。

也可按SELECT子句中没有出现的列排序,此时不能用顺序编号来表示排序列。


http://chatgpt.dhexx.cn/article/OBgHIGBJ.shtml

相关文章

数据库之数据的查询

1 目的 1、理解SQL的特点&#xff1b; 2、掌握SELECT命令的使用&#xff1b; 3、掌握单表查询、连接查询、嵌套查询和集合查询&#xff1b; 4、掌握INSERT、UPDATE和DELETE命令的使用&#xff1b; 5、掌握将SQL命令嵌入到C#或其他高级语言&#xff1b; 2 要点 1、单表查询、…

【MySQL】数据库的基本查询

前言 上篇已经讲过数据库与表相关的一些相关的操作了&#xff0c;如果你对这部分依旧不太熟悉建议先去看看 传送门&#xff1a;【MySQL】逻辑库与数据表相关操作. 这篇就来说一下数据库中表的基本查询&#xff0c;看见是基本查询&#xff0c;就知道肯定有高级查询&#xff0…

SQL数据库的查询操作大全(select)

目录&#xff1a; 1、数据库的连接、创建 2、对字段的操作&#xff1a;&#xff08;alter table&#xff09; 3、对数据的操作&#xff08;插入、修改、删除&#xff09; 4、数据查询&#xff08;select&#xff09; 5、多表查询&#xff08;join on&#xff09; 6、约束…

JDK、Tomcat安装步骤

JDK安装 JDK下载地址 1.JDK安装 &#xff08;1&#xff09;运行Tomcat时需要先安装JDK&#xff0c;下载x64 installer &#xff08;2&#xff09;选择安装路径 &#xff08;3&#xff09;安装完成 2.配置环境变量 &#xff08;1&#xff09;“我的电脑”右键→属性→高级系…

Tomcat安装教程

1、下载 Tomcat。 你可以从 Apache Tomcat 官网&#xff08;Apache Tomcat - Welcome!&#xff09;上下载最新版本的 Tomcat。解压下载的压缩包。将下载的压缩包解压到指定的目录&#xff0c;例如 C:\Tomcat。 2、配置环境变量。 在 Windows 中&#xff0c;打开控制面板&…

详细到落泪的Tomcat安装教程....

前言 我个人是很少写基础软件的安装的&#xff0c;直到有一天诸葛铁头因为Tomcat安装的问题找到我… 诸葛铁头&#xff0c;原名诸葛铁蛋&#xff0c;因人比较头铁&#xff0c;故取名铁头。在诸葛体铁头建议下、以及征求了她的同意后&#xff0c;写了这篇文章。 虽然这篇文章…

Tomcat安装配置

Tomcat 是一个免费的开放源代码的 Web应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试 JSP程序的首选。 1. Tomcat下载 1&#xff09;进入Tomcat官网&#xff0c;选择下载所需的Tomca…

Tomcat安装教程(windows)

1. 下载Tomcat 首先确定你Windows系统是64位&#xff0c;还是32位(现在大部分是64位)及JDK版本&#xff08;Tomcat在 JDK1.8 环境下能够正常运行&#xff09; 下载地址&#xff1a;Tomcat官网. 2. 安装Tomcat 解压压缩包&#xff0c;放在想要放在的盘符(最好不要是C盘&#…

Apache Tomcat安装配置

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器。Tomcat 技术先进、性能稳定&#xff0c;而且免费&#xff0c;因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可&#xff0c;成为目前比较流行的Web 应用服务器。 Tomcat安装方法 1、下载Tomcat后&a…

Tomcat安装配置及IDEA配置方法【亲测有效】

Tomcat安装配置及IDEA配置 1.下载Tomcat2.配置Tomcat环境变量3.安装Tomcat4.启动Tomcat5.测试Tomcat6.IDEA配置Tomcat 1.下载Tomcat Tomcat9官网下载地址 选择自己需要的版本&#xff0c;一般选择Windows 64位压缩包版本&#xff1a; 下载完后安装解压即可&#xff0c;解压后…

Eclipse、Tomcat安装配置及部署教程

想用Tomcat作为服务器&#xff0c;必须分以下两步。首先要配置好JDK的环境变量&#xff0c;再去下载Tomcat的压缩包。 下载、安装JDK&#xff0c;并且配置好环境变量 1、打开浏览器&#xff0c;输入JDK搜索&#xff0c;根据搜索结果下载安装包安装应用 2、先接受协议&#x…

Tomcat安装及运行

Tomcat 操作 Tomcat 安装 1、解压压缩文件 【注意】不要有中文路径 2、效果如下 Tomcat 运行 1、移动到tomcat安装路径下&#xff0c;双击进入 2、进入bin目录 3、双击 startup.bat 启动 Tomcat 【注意】区别于 startup.sh &#xff0c;此脚本用于 Linux 下 Tomcat 的启动&a…

Tomcat的安装与配置

Tomcat的安装与配置 一、准备与安装 1.在下载安装tomcat之前请确保计算机上已有java环境&#xff0c;可以通过键盘WindowsR&#xff0c;输入cmd&#xff0c;输入java -version来确定JDK版本&#xff0c;我使用的是JDK1.8 2.进入Tomcat官网&#xff0c;选择与JDK版本相匹配的…

Mac电脑tomcat安装部署

1、tomcat官网下载点击 下载zip到本地&#xff0c;解压即可安装&#xff0c;如下图。 2、命令行启动tomcat&#xff0c;用如下命令 Mac启动、关闭tomcat 。 1.打开终端进入tomcat的bin目录 ~ cd /Users/xxx/Documents/Java/apache-tomcat-9.0.34/bin 2.开启tomcat sudo sh st…

Tomcat 安装教程【附图文说明】

Apache Tomcat下载、安装、配置图文教程自我心得 一、Tomcat下载 Tomcat官网&#xff1a;Tomcat官方网址&#xff0c;可以在此处下载Tomcat。点击左侧Download下的对应版本。 注意有zip和exe两种格式的&#xff0c;zip是免安装版的&#xff0c;exe是安装版。同时观察自己的电…

TomCat安装和配置

我的环境&#xff1a;Win11&#xff0c;JDK1.8.0_333&#xff0c;IDEA2022.1.3 1、查看有没有安装tomcat 在cmd终端输入service.bat install命令 这是已经安装了,输入service remove tomcat9删除(这里注意你的版本号&#xff0c;写自己的) 2、在官网下载对应tomcat版本 cmd终…

Tomcat安装和配置(超详细)

一、Tomcat安装准备 1、tomcat下载 1.1、百度网盘链接下载 链接&#xff1a;https://pan.baidu.com/s/1uceOKe_QcpSQ6yhNxi4T5g?pwd1234 提取码&#xff1a;1234 1.2、官网在线下载 Tomcat官网&#xff1a;https://tomcat.apache.org/download-80.cg…

Tomcat安装及配置(Windows环境)

Tomcat&#xff08;Catalina&#xff09;&#xff1a;WEB服务器&#xff08;实现了JAVAEE中ServletJSP两个核心规范&#xff09; 一、官网下载安装包&#xff1a;Apache Tomcat - Welcome! 二、使用下载好的安装包&#xff08;apache-tomcat-10.0.12.zip&#xff09;直接解压到…

Tomcat安装及IDEA配置Tomcat教程

Tomcat安装 以Tomcat8.5为例 1.网站链接 Apache Tomcat - Apache Tomcat 8 Software Downloads 根据个人喜好&#xff0c;我安装的是8.5版本 2.下载完解压即可 我的安装目录为&#xff08;E:\Environments\apache-tomcat-8.5.83&#xff09; 3.配置系统变量 变量名固定不变&a…

Tomcat安装与配置

Tomcat安装与配置 一、tomcat下载 安装tomcat前需要先安装Java运行环境&#xff0c;不然会闪退&#xff0c;tomcat依赖于Java运行环境 官网地址&#xff1a;Apache Tomcat 二、tomcat简单了解 下载完成后解压压缩包&#xff0c;即可得到Tomcat 要发布的网站放入webapps文件…