加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- AI行业应用、大数据、建站、语音技术、研发安全!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

15个基础SQL查询语句

发布时间:2023-05-23 22:33:44 所属栏目:MsSql教程 来源:互联网
导读: 本文介绍了数据库(如mysql,redis)的基础SQL查询语句。
一、创建表与数据插入SQL
在开始创建数据表与向表中插入演示数据之前,要给大家解释一下实时数据表的设计理念,这样能帮助大家能更

本文介绍了数据库(如mysql,redis)的基础SQL查询语句。

一、创建表与数据插入SQL

在开始创建数据表与向表中插入演示数据之前,要给大家解释一下实时数据表的设计理念,这样能帮助大家能更好的理解SQL查询。

在数据库设计中,有一条非常重要的规则就是要正确建立主键与外键的关系。

现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表:

1.创建表:

创建Item Master表,代码如图1所示:

mssql 查询子句_mssql 2000 查询重复_名词子句

图1

向Item Master表插入数据,代码如图2所示:

mssql 2000 查询重复_mssql 查询子句_名词子句

图2

创建Order Master表,代码如图3所示:

mssql 2000 查询重复_名词子句_mssql 查询子句

图3

向Order Master表插入数据,代码如图4所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图4

创建Order Detail表,代码如图5所示:

名词子句_mssql 查询子句_mssql 2000 查询重复

mssql 查询子句_名词子句_mssql 2000 查询重复

图5

向Order Detail表插入数据,代码如图6所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图6

二、简单的Select查询语句

SQL中最基本也是最重要的DML语句之一为Select查询语句。那么什么是DML?DML全称Data Manipulation Language(数据操纵语言命令),它可以使用户能够查询数据库以及操作已有数据库中的数据。

下面我们在SQL Server中用select语句来查询我的姓名(Name),代码如图7所示:

mssql 2000 查询重复_mssql 查询子句_名词子句

图7

在数据表中使用select查询,代码如图8所示:

mssql 查询子句_mssql 2000 查询重复_名词子句

图8

三、合计和标量函数

合计函数与标量函数都是SQL Server的内置函数,我们可以在select查询语句中使用它们,比如Count(), Max(), Sum(), Upper(), lower(), Round()等等。下面我们用SQL代码来解释这些函数的用法,代码如图9所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图9

四、日期函数

在我们的项目数据表中基本都会使用到日期列,所以日期函数在项目中扮演着非常重要的角色。有时候我们对日期函数要非常的小心,它随时可以给你带来巨大的麻烦。在项目中,我们要选择合适的日期函数与日期格式,下面是一些SQL日期函数的例子:

名词子句_mssql 查询子句_mssql 2000 查询重复

图10

图11

五、其他Select函数

mssql 2000 查询重复_名词子句_mssql 查询子句

Top :结合select语句,Top函数可以查询头几条与末几条的数据记录。

Order By :结合select语句,Order By可以让查询结果按某个字段正序与逆序输出数据记录。代码如图12所示:

mssql 查询子句_名词子句_mssql 2000 查询重复

图12

Distinct :distinct关键字可以过滤重复的数据记录。代码如图13所示:、

名词子句_mssql 2000 查询重复_mssql 查询子句

图13

六、Where子句

Where子句在SQL Select查询语句中非常重要,为什么要使用where子句?什么时候使用where子句?where子句是利用一些条件来过滤数据结果集。

下面我们从10000条数据记录中查询Order_No为某个值或某个区间的数据记录,另外还有其他的条件。代码如图14所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图14

Where – In 子句

相关代码如图14所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图15

Where – Between子句

相关代码如图16所示:

mssql 2000 查询重复_名词子句_mssql 查询子句

图16

查询某个条件区间的数据,我们常常使用between子句。

七、Group By 子句

Group By子句可对查询的结果集按指定字段分组,代码如下所示:

mssql 2000 查询重复_名词子句_mssql 查询子句

图17

Group By & Having 子句

mssql 2000 查询重复_mssql 查询子句_名词子句

图18

mssql 2000 查询重复_名词子句_mssql 查询子句

图19

8、子查询

子查询一般出现在where内连接查询与和嵌套查询中,select、update和delete语句中均可以使用。代码如下所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图20

九、连接查询

目前为止,我们接触了不少单表的查询语句,现在我们来使用连接查询获取多个表的数据。

简单的join语句,如下所示:

名词子句_mssql 查询子句_mssql 2000 查询重复

图21

Inner Join,Left Outer Join,Right Outer Join and Full outer Join

下面所示的是各种类型的连接查询代码:

名词子句_mssql 查询子句_mssql 2000 查询重复

mssql 查询子句_mssql 2000 查询重复_名词子句

mssql 2000 查询重复_名词子句_mssql 查询子句

图22

十、Union合并查询

Union查询可以把多张表的数据合并起来,Union只会把唯一的数据查询出来,而Union ALL则会把重复的数据也查询出来。代码如下所示:

mssql 查询子句_mssql 2000 查询重复_名词子句

图23

具体的例子如下所示:

mssql 2000 查询重复_名词子句_mssql 查询子句

图24

十一、公用表表达式(CTE)——With语句

CTE可以看作是一个临时的结果集,可以在接下来的一个SELECT,INSERT,UPDATE,DELETE,MERGE语句中被多次引用。使用公用表达式可以让语句更加清晰简练。相关代码如下所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图25

十二、视图

很多人对视图View感到很沮丧,因为它看起来跟select语句没什么区别。在视图中我们同样可以使用select查询语句,但视图对我们来说依然非常重要。

假设我们要联合查询4张表中的20几个字段,那么这个select查询语句会非常复杂。但这样的语句我们在很多地方都需要用到,如果将它编写成视图,那么使用起来会方便很多。利用视图查询有以下几个优点:

一定程度上提高查询速度可以对一些字段根据不同的权限进行屏蔽mssql 查询子句,因此提高了安全性对多表的连接查询会非常方便

下面所示的是一个视图的代码例子:

名词子句_mssql 查询子句_mssql 2000 查询重复

图26

13、Pivot行转列

Pivot能帮助你实现数据行转换成数据列,具体用法如下所示:

mssql 查询子句_名词子句_mssql 2000 查询重复

图27

十四、存储过程

我经常看到有人提问如何在SQL Server中编写多条查询的SQL语句,然后将它们使用到C#程序中去。很多数据库(如mysql,redis)的存储过程就可完成这样的功能,存储过程可以将多个SQL查询聚集在一起,创建存储过程的基本结构是下面这样的:

mssql 2000 查询重复_名词子句_mssql 查询子句

图28

创建一个没有参数的存储过程:

名词子句_mssql 2000 查询重复_mssql 查询子句

mssql 查询子句_名词子句_mssql 2000 查询重复

图29

十五、函数Function

之前我们介绍了MAX(),SUM(), GetDate()等最基本的SQL函数,现在我们来看看如何创建自定义SQL函数。创建函数的格式如下所示:

名词子句_mssql 2000 查询重复_mssql 查询子句

图30

下面是一个简单的函数示例:

mssql 2000 查询重复_名词子句_mssql 查询子句

图31

下面所示的一个函数可以实现从给定的日期中得到当前月的最后一天:

mssql 查询子句_名词子句_mssql 2000 查询重复

图32

译文链接:

英文原文:Basic SQL Queries for Beginners

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章