Sql Server系列:Select基本语句
1 T-SQL中SELECT语法结构
- <SELECT statement> ::=
- [WITH <common_table_expression> [,...n]]
- <query_expression>
- [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] }
- [ ,...n ] ]
- [ <FOR Clause>]
- [ OPTION ( <query_hint> [ ,...n ] ) ]
- <query_expression> ::=
- { <query_specification> | ( <query_expression> ) }
- [ { UNION [ ALL ] | EXCEPT | INTERSECT }
- <query_specification> | ( <query_expression> ) [...n ] ]
- <query_specification> ::=
- SELECT [ ALL | DISTINCT ]
- [TOP ( expression ) [PERCENT] [ WITH TIES ] ]
- < select_list >
- [ INTO new_table ]
- [ FROM { <table_source> } [ ,...n ] ]
- [ WHERE <search_condition> ]
- [ <GROUP BY> ]
- [ HAVING < search_condition > ]
2 基本SELECT查询
- SELECT * FROM [dbo].[Product]
使用星号(*)通配符时,将返回全部列,列按照定义表的时候的顺序显示。
3 查询记录中指定字段
在不需要数据表中全部字段值时,可以指定需要查询的字段名称,这样不仅显示的结果更清晰,而且能提高查询的效率。
- SELECT [ProductID],[ProductName] FROM [dbo].[Product]
4 在查询结果中使用表达式
- SELECT
- [ProductID],
- [ProductName],
- [UnitPrice] * 2 AS DoubleUnitPrice
- FROM [dbo].[Product]
AS关键字表示为表达式指定一个用于显示的字段名称,这里AS为一个可选参数,也可以不使用。
5 显示部分查询结果
当数据表中包含大量的数据时,可以通过指定显示记录数限制返回的结果集中的行数。
- SELECT TOP [n | PERCENT] FROM table_name
TOP后面有两个可选参数,n表示从查询结果集返回指定的n行,PERCENT表示从结果集中返回指定的百分比数目的行。
- SELECT TOP (10) * FROM [dbo].[Product]
- SELECT TOP (10) PERCENT * FROM [dbo].[Product]
6 带限制条件的查询
数据库中如果包含大量的数据,根据特殊要求,可能只须查询表中的指定数据,既对数据进行过滤。在SELECT语句中使用WHERE字句,对数据进行过滤。
- SELECT * FROM [dbo].[Product] WHERE [ProductID] <= 10
7 带AND的多条件查询
使用SELECT查询时,可以增加查询的限制条件,这样可以使查询的结果更加精确。在WHERE字句中使用AND操作符,限定满足所有查询条件的记录才会被返回。可以使用AND连接两个或多个查询条件。多个条件表达式之间用AND分开。
- SELECT * FROM [dbo].[Product]
- WHERE [ProductID] <= 10 AND [UnitPrice] >= 20
8 带OR的多条件查询
在WHERE声明中使用OR操作符,表示只需要满足其中一个条件的记录即可返回。OR也可以连接两个或多个查询条件,多个条件表达式直接使用OR分开。
- SELECT * FROM [dbo].[Product]
- WHERE [ProductID] <= 10 OR [UnitPrice] >= 20
9 使用LIKE运算符进行匹配查询
在不能明确指定查询的限定条件,可以使用LIKE运算符进行模式匹配查询。在查询时可以使用的通配符:
通配符 | 说明 |
---|---|
% | 包含零个或多个字符的任意字符串 |
_ | 任何单个任意字符 |
[] | 指定范围或集合中的单个字符 |
[^] | 不在指定范围或集合中的单个字符 |
- SELECT * FROM [dbo].[Product]
- WHERE [ProductName] LIKE '%LINQ'
- SELECT [ProvinceID]
- ,[ProvinceCode]
- ,[ProvinceName]
- FROM [dbo].[Province]
- WHERE [ProvinceCode] LIKE '_10000'
- SELECT [ProvinceID]
- ,[ProvinceCode]
- ,[ProvinceName]
- FROM [dbo].[Province]
- WHERE [ProvinceCode] LIKE '[1,2]10000'
- SELECT [ProvinceID]
- ,[ProvinceCode]
- ,[ProvinceName]
- FROM [dbo].[Province]
- WHERE [ProvinceCode] LIKE '[^1,^2]10000'
10 使用BETWEEN ... AND查询
BETWEEN ... AND运算符可以对查询值限定一个查询区间。
- SELECT * FROM [dbo].[Product]
- WHERE [ProductID] BETWEEN 10 AND 20
等价于:
- SELECT * FROM [dbo].[Product]
- WHERE [ProductID] >= 10 AND [ProductID] <= 20
11 对查询结果进行排序
ORDER BY子句可以根据指定的字段的值对查询的结果进行排序,并可以指定排序方式(升序/降序)。
- SELECT * FROM [dbo].[Product]
- ORDER BY [UnitPrice] DESC
ORDER BY子句可以对查询结果进行升序排列,升序排列是默认的排序方式,在使用ORDER BY 子句升序排列时,可以使用ASC关键字,也可以省略该关键字。
12 使用GROUP BY聚合数据
- SELECT [CategoryID], SUM([Quantity]) FROM [dbo].[Product] GROUP BY [CategoryID]
Sql Server系列:Select基本语句的更多相关文章
- Sql Server系列:Insert语句
1 INSERT语法 [ WITH <common_table_expression> [ ,...n ] ] INSERT { [ TOP ( expression ) [ PERCEN ...
- Sql Server系列:Update语句
1 UPDATE语法结构 [ WITH <common_table_expression> [...n] ] UPDATE [ TOP ( expression ) [ PERCENT ] ...
- Sql Server系列:Delete语句
数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录.如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表. 1 DELETE语法 [ WITH <c ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
- SQL Server FOR XML PATH 语句的应用---列转行
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用 ...
- SQL Server中的流控制语句
begin···end 该语句定义sql代码块,通常在if和while语句中使用 declare @num int ; ; begin ; print 'hello word' end if···el ...
- SQL Server 2017 SELECT…INTO 创建的新表指定到文件组
原文:SQL Server 2017 SELECT-INTO 创建的新表指定到文件组 SELECT-INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件 ...
- 【SQL Server DBA】维护语句:删除并创建外键约束、获取建表语句
原文:[SQL Server DBA]维护语句:删除并创建外键约束.获取建表语句 1.删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b dr ...
- SQL Server 系列文章快速导航(SWF版)
一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软S ...
- PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法
逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...
随机推荐
- 历年NOIP水题泛做
快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...
- 已知服务器ftp的账号密码,求解数据库表的内容
一开始觉得这两个是完全不相干的东西,直到出现了这样一个问题,对方网站只有ftp的账号密码,并且能正常访问到代码.但是当需求了解注册人数的时候,后台没有显示,只能到数据库去找,这时怎么找呢? 原来是可以 ...
- Mac无法写入移动硬盘
1.使用mac 磁盘工具,格式化移动硬盘 频繁穿插于mac于pc之间者,大批量拷贝大型文件者,请用exfat 首先,排除Fat32,虽然这是兼容性最好的文件格式,但一个不支持4g以上文件的格式(现在随 ...
- 统计学习方法 --- 感知机模型原理及c++实现
参考博客 Liam Q博客 和李航的<统计学习方法> 感知机学习旨在求出将训练数据集进行线性划分的分类超平面,为此,导入了基于误分类的损失函数,然后利用梯度下降法对损失函数进行极小化,从而 ...
- WPF-禁止二次启动
App.xaml.cs protected override void OnStartup(StartupEventArgs e) { //禁止二次启动 this.Startup += new Sta ...
- 怎么将java web 项目导入idea 中
1.将 java web 项目导 入idea 中, 显示 然后进行 Configure 配置. 2. 点击 open module settings. 3. 4. 选择jar包. 5. 6. 配置to ...
- 解决 adb.exe 停止工作小续
继adb 停止工作的问题之后,又碰见了adb 停止工作的问题. 在使用adb install app.apk 之后给出错误信息如下: * daemon not running. starting it ...
- 选择列表中除了第一个li的其他元素
//选择div中除了第一个li的其他所以li元素 div li:not(:first-child){ }
- 【noip 2016】 蚯蚓(50分)(earthworm)
50分小程序,写了2天- 题目在这里 一个单调队列,写的都是p=0的点,考试的时候要是弄到这些分的话--不说了-- 羡慕AC的神犇啊,54行的满分程序,而我-- #include <iostre ...
- #iOS问题记录#动态Html加载本地CSS和JS文件
所谓动态Html,指代码中组合生成的html字符串: 若需要加载本地CSS,图片,JS文件,则, 1,需要文件的全路径: 2,需要"file:///"标志: 例如: //获取文件全 ...