SQL查询与操作

article/2025/10/23 0:19:11

1.单表查询

    SQL 数据查询主要由 SELECT 语句完成,SELECT 语句是SQL 的核心。单表查询就是利用 SELECT语句仅从一个表/视图中查询数据。其语法如下:

SELECT [DISTINCT]*{ 字段名 1,字段名 2, 字段名 3,…
FROM 表名
[WHERE 条件表达式 1]
[GROUP BY 字段名 [HAVING 条件表达式 2]]
[ORDER BY 字段名 [ASC|DESC]]
[LIMIT [OFFSET,] 记录数];

 1.1基础查询

SELECT * FROM 表名

1.2条件查询

SELECT * 
FROM 表名
[WHERE 条件表达式 1];

比较条件组合使用

2155fd78171d48cf8c71aa147ab4b165.png

BETWEEN关键字

df550d3210264bd48d2a5ed0e718c7b2.png

IN关键字

a4d0a95509fb43fbb723abafa43946d6.png

1.3高级查询

SELECT [DISTINCT]*{ 字段名 1,字段名 2, 字段名 3,…
FROM 表名
[ORDER BY 字段名 [ASC|DESC]]
[LIMIT [OFFSET,] 记录数];

1.4分组查询

SELECT *
FROM 表名
[GROUP BY 字段名 [HAVING 条件表达式 2]];

2.连接查询

     数据库中的各个表中存储着不同的数据,用户往往需要用多个表中的数据来组合、提取所需的信息。如果一个查询需要对多个表进行操作,就称为连接查询。连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征。

连接查询方式有交叉连接查询、内连接查询、外连接查询等。

连接查询中的通配符

94f37d9f0d7e49eaa1e5adeaf14e7f03.png

2.1内连接查询

SELECT 输出项
FROM 表1 INNER JOIN 表2 ON 表2.公共列=表1.公共列;

2.2外连接查询

左外连接

SELECT 输出项
FROM 表1 LEFT JOIN 表2 ON 表2.公共列=表1.公共列;

右外连接

SELECT 输出项
FROM 表1 RIGHT JOIN 表2 ON 表2.公共列=表1.公共列;

2.3交叉连接查询

SELECT 输出项
FROM 表1 CROSS JOIN 表2;

3.子查询

    当一个查询的结果是另一个查询的条件时,称为子查询。子查询就是将一个SELECT语句嵌入另一个 SELECT 语句的子句中,通常被称为嵌套 SELECT 语句、子 SELECT 语句或内部 SELECT 语句。在许多 SQL 子句中可以使用子查询,其中包括 FROM 子句、 WHERE 子句、HAVING子句。通常先执行子查询,然后使用其输出结果来完善主查询(外部查询)。

FROM子句中使用子查询,其一般语法格式为:

SELECT 列名称 FROM (SELECT语句)

WHERE 子句、HAVING子句中使用子查询,其一般语法格式为:

SELECT 列名称 FROM 表名称 WHERE [HAVING]<列名称><运算符>(SELECT语句)

说明:

(1)上述仅给出了一个不太严格的示意性格式,使用的子查询需要用圆括号()括起来;(2)子查询中既可以使用其他的表,也可以使用与主查询相同的表;(3)语法格式中的(SELECT语句)里还可以嵌套子查询;
(4)子查询在主查询之前一次执行完成,子查询的结果被主查询使用;(5)子查询在参与比较条件运算时,只能放在比较条件的右侧;
(6)<运算符>是比较条件运算符,根据(SELECT 语句)结果的类型,又可将子查询分为单行子查询与多行子查询,单行子查询里(SELECT 语句)被当作一个表达式参与运算,多行子查询里(SELECT语句)被当作一个集合参与运算。
在子查询中通常可以使用IN、ANY、SOME、ALL、EXISTS 关键字。

3.1使用IN关键字的子查询

     IN关键字可以测试表达式的值是否与子查询返回集中的某个值相等。

3.2使用ANY,SOME, ALL关键字的子查询

     子查询在返回单值时可以用比较运算符,而使用ANY、SOME、ALL 关键字时则必须同时使用比较运算符。

3.3使用EXISTS关键字的子查询

     带有EXISTS关键字的子查询不返回任何数据,只产生逻辑真值“true”(子查询结果非空,至少有一行),或者逻辑假值“false”(子查询结果为空,一行也没有)。

4.数据操作

     数据操作是数据库管理系统的基本功能,包括数据的插入、修改和删除等。在实际应用中,多个应用程序会并发操作数据库,导致出现数据库数据的不一致性和并发操作问题,达梦数据库利用事务和封锁机制实现数据并发存取, 保障数据的完整性。

4.1插入数据

insert (into) 表名[(字段名1,字段名2,...)]
values(值1,值2...)[(值1,值2...),...];

4.2修改数据

update 表名
set 字段名1=值1[,字段2=值2,...]
[where 条件表达式];

4.3删除数据

delete from 表名[where 条件表达式];

5.查询子句

     为了丰富对查询结果的处理方式,增强查查询能力,不同的数据库会提供多种查询子句。本节主要介绍常用的查询子句,包括排序子句、分组子句、HAVING 子句、TOP子句等。

5.1排序子句

     排序子句使用ORDER BY子句对查询结果:进行排序。如果没有指定查询结果的显示顺序,数据库管理系统将按其最方便的顺序(通常是数据记录在表中的先后顺序)输出查询结果。用户也可以用 ORDER BY子句指定按照一个或多个属性列的升序(ASC)或降序(DESC)重新排列查询结果,其中升序(ASO C)为默认值。其一般语法格式为:

SELECT 列名称 FROM 表名称 ORDERBY 列名称 [ASC|DESC] [NULLS FIRSTLAST],{列名称 [ASCDESC] [NULLS FIRST|LAST]}

5.2分组子句

     分组子句使用GROUP BY子句对查询结果进行分组。GROUPBY子句是SELECT语句的可选项部分,它定义了分组表。GROUP BY子句定义了分组表:行组的集合,其中每个组由其中所有分组列的值都相等的行构成。

GROUP BY子句将查询结果表按某一列值或多列值分组,值相等的为一组。其一般语法格式为:

SELECT 列名称 FROM 表名称 GROUPBY 列名称

5.3HAVING子句

     HAVING子句是SELECT语句的可选项部分,它也定义了一个分组表,用于选择满足条件的组。其基本语法如下:

SELECT <选择列表>
FROM [<模式名>.<基表名>|<视图名>[<相关名>] HAVING子句
<HAVING子句>::=HAVING<搜索条件><搜索条件>::= <表达式>

其中只含有搜索条件为 TRUE 的那些分组,且通常跟随一个 GROUP BY 子句。 HAVING子句与分组的关系正如 WHERE 子句与表中行的关系。

WHERE子句用于选择表中满足条件的行,而HAVING子句用于选择满足条件的分组。

5.4TOP子句

     TOP 子句用于规定查询返回记录的数目。对于计记录数目较大的表来说,TOP 子句是非常有用的。其基本语法如下:

SELECT TOP number/perc cent<列名> FROM 表名;



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

相关文章

sql的查询

sql的查询 &#xff08;1&#xff09;什么是排序 order by&#xff08;2&#xff09;如何排序 》》数据库的查询(排序:order by) SELECT * FROM 表名 ORDER BY 排序字段 ASC(升序)|DESC(降序);&#xff08;3&#xff09;特点 指定列 指定升序或者降序 order by 排序只对数字和…

SQL 数据查询

前言&#xff0c;数据库中有5个表&#xff0c;student&#xff0c;sc,course,tc,teacher;(sql server里面不区分大小写) student sc tc course teacher 1. 查询软件工程学院&#xff08;SE&#xff09;学生的学…

SQL数据查询

目录 1、求各系学生的平均成绩&#xff0c;并把结果存入新建的数据库表中&#xff08;请自己创建一个表存放结果&#xff09; 2、统计每门课程的选修学生人数及各门课程的平均成绩 3、找出各系年龄最大的学生&#xff0c;显示其学号、姓名&#xff1b;&#xff08;利用相关子…

数据库:SQL数据查询(详细、全面)

以下题目中加粗字体为重点哦~ 一、查询指定列、全部列 1.查询全体学生的学号和姓名 SELECT SNO, SN FROM S 2.查询全部列 SELECT * FROM S 二、查询经过计算的值 3. 查询全体学生的姓名、出生年份 SELECT SN, 2020-AGE FROM S 4. 查村全体学生的姓名、出生年份和系名&#xff…

2022留学生落户上海成本大概是怎样的?

现在留学生落户上海整体来说除了对于社保没有要求的落户方式&#xff0c;那么对于普通的留学生落户来说&#xff0c;就得有社保和个税的要求了&#xff0c;那么这里面的成本是有多少呢&#xff0c;下面来看看这里面的情况&#xff1a; 留学生落户上海根据判断自己的社保基数及累…

非上海户籍人员在上海买房需要啥条件?

和你一起终身学习&#xff0c;这里是程序员Android 非沪籍想在上海买房说实话有点难&#xff0c;毕竟每平米大几万的房价不是盖的&#xff0c;既然您点进来看了&#xff0c;说明你有这个想法&#xff0c;有想法就行&#xff0c;虽然我们不一定能买得起&#xff0c;但不能阻挡我…

上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海

原标题&#xff1a;2021上海积分落户应届毕业生直接落户上海 ——上海落户积分120分&#xff0c;不是研究生毕业就有100分吗&#xff1f;研究生毕业就有100分&#xff0c;正常读书年龄肯定很小就有30分了啊&#xff0c;不是直接就可以落户了吗&#xff1f;为什么大家都在说很难…

上海居住证转户口证攻略

2019独角兽企业重金招聘Python工程师标准>>> 一、居转户条件&#xff1a; 1.居住证满7年&#xff0c;社保满7年&#xff0c;税单满7年 2.最近3年连续社保是上海平均值2倍以上&#xff08;或者具备中级以上职称&#xff09; 3.自有产权房 二、居转户材料&#x…

2019非上海生源高校应届生落户指南

流程 一、计算积分基本要素导向要素用人单位要素 二、准备申请材料三、审核--证明信四、证明信-个人户口本落户社区公共户落户家庭户或者单位集体户口落户家庭户落户单位集体户口 博主从五月份准备落户申请材料&#xff0c;到十月中旬拿到上海个人户口本&#xff0c;历时五个月…

上海程序员落户攻略

上海居住证落户简称 “居转户” &#xff0c; 本文主要写给在上海打拼的程序员们&#xff0c;告诉大家比写代码更重要的一件事情是落户。讲述一些关于上海居住证落户的一些政策和一些建议。 很多人以为居转户&#xff0c;只要上海居住证满7年就可以转了&#xff0c;殊不知&…

上海落户计算机水平毕业研究生,2020年上海落户有哪些新规定?附研究生落户分值表!...

相信对于不少的年轻人来说&#xff0c;上海都是他们向往的城市&#xff0c;很多毕业生都在毕业后都希望可以留在上海&#xff0c;如果能够落户就再好不过了。下面小编就给大家说说2020年上海落户有哪些新规定&#xff0c;研究生如何落户&#xff0c;想了解的快来看看吧。 一、2…

2017年上海最新落户政策重磅出炉!你达标了吗?(明年就毕业了希望一切顺利)

2017年最新非上海户籍的应届毕业生落户标准公布&#xff0c; 应届毕业生落户标准分为72分&#xff01; 具体申请可根据2017《上海市居住证》和 居住证积分指南、申请本市户籍办法。 想想当初选择来魔都读书生活&#xff0c; 每天起早贪黑究竟为了什么&#xff1f; 很多人的“小…

【个人亲历】上海市人才引进落户最详细的流程记录说明

目录 一、材料准备 二、网上审核 2.1、预审上报 2.2、线下提供证明材料 2.3、初审、审核 2.4、公示 三、落户证明领取和准迁证查询 3.1、线下领取落户证明 3.2、准迁证查询 附&#xff1a;应用汇总&#xff1a; 从2022年6月领导通知我够资格人才引进落户以及2022…

2022留学生落户上海怎么办理社区公共户?

很多留学生会担心的一个问题是个人和直系亲属在沪无房产&#xff0c;且单位也无集体户怎么办呢? 其实无须担心&#xff0c;这种情况下可以按公安机关规定申请挂靠 社区公共户!简单而言 &#xff0c;就是租房在哪&#xff0c;就落户在相应的派出所。 落户通过后&#xff0c;留…

重磅!上海出落户新政:双一流应届硕士可直接落户!

点击上方“3D视觉工坊”&#xff0c;选择“星标” 干货第一时间送达 编辑丨科研大匠 9月23日&#xff0c;据上海学生就业创业服务网&#xff0c;上海市高校招生和就业工作联席会议制定的《2020年非上海生源应届普通高校毕业生进沪就业申请本市户籍评分办法》&#xff08;以下简…

上海落户条件—海归落户上海

上海落户条件—海归落户上海 国际留学生落户上海 2020年底&#xff0c;上海市政府发布上海落户2020新政改革&#xff0c;明确指出“基于国家户籍制度改革的新趋势&#xff0c;以及上海所面临的人才不足和各地人才竞争形势&#xff0c;对上海居住证转户籍人口提出一个基本的政策…

留学回国人员申办上海常住户口实施细则

留学回国人员申办上海常住户口实施细则 &#xff08;政策有效期至2025年11月30日&#xff09; 第一条 目的和依据 为贯彻落实人才强市战略&#xff0c;加大海外人才引进力度&#xff0c;规范留学回国人员申办上海常住户口工作&#xff0c;根据《公安部、人力资源和社会保障部关…

微信appid、openid、unionid的区别和关联

微信小程序的appid、openid、unionid appidopenidunionid三者关系 appid application identification (简称appid) 翻译一下就是某个应用的标识(id) 比如说在一个公众号主体下 你不仅可以拥有h5网站,小程序,小游戏,企业微信等等,这些都有一个单独的appid openid 每一个应用下…

获取openId

小程序—获取openId&#xff08;用来标识用户唯一&#xff09; 在需要的页面.js下 getopenid(){wx.cloud.callFunction({name:getOpenId,//注意名字是自己当前云函数中的openID的目录名success(res){console.log("获取云函数成功",res);},fail(res){console.log(&qu…

微信的openid

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter7_3 微信h5静默、非静默授权获取用户openId的方法和步骤: 一、openId是什么&#xff1f; openId是用户在当前公众号下的唯一标识&#xff08;‘身份证’&#xff09;&#xff0c;就是说通过这个openId&#xff0c;就…