SQL Server T-SQL数据查询
SQL Server T-SQL数据查询
SELECT查询语句
SELECT语句的语法格式
SELECT [ALL|DISTINCT] 列表达式
[INTO 新表名]
FROM 表名列表
[WHERE 逻辑表达式]
[GROUP BY 列名]
[HAVING逻辑表达式]
[ORDER BY 列名[ASC|DESC]]
SELECT子句投影查询
语法:SELECT [ALL|DISTINCT] [TOP integer|TOP integer PERCENT] [WITH TIES] 列名表达式1, 列名表达式2, …列名表达式n
其中:表达式中含列名、常量、运算符、列函数
1. 投影部分列
从securitycode表提取,所有股票的股票名称和股票代码
select symbol,sname from securitycode
2. TOP关键字限制返回行数
格式:TOP n
从securitycode表提取,前100条记录
select top 100 * from securitycode
3. 是否去重复元组
All:检出全部信息(默认)
Distinct:去掉重复信息
select distinct exchange from securitycode
4. 投影所有列
通配符*:所有字段
从securitycode表提取所有列
select * from securitycode
5. 自定义列名
格式:’指定的列标题’=列名
/ 列名 AS 指定的列标题
在上例中用中文显示列名。
select symbol as [股票代码],sname as [股票名称] from securitycode
6. 字段函数(列函数)
格式:函数名(列名)
求和:SUM
平均:AVG
最大:MAX
最小:MIN
统计:COUNT
从itprofile表提取 最大注册资本
select max(ITPROFILE21) from itprofile where ITPROFILE44=1
FROM子句连接查询
格式:FROM基本表名/视图,基本表名/视图,…
功能:提供基本表或视图的连接查询
7. 指定基本表或视图
use fcdb
go
select * from securitycode
8. 为基本表指定临时别名
格式:基本表名 别名
功能:简化表名,实现自连接。
select s.symbol,s.sname from securitycode s
WHERE子句选择查询
格式:WHERE逻辑表达式
功能:实现有条件的查询运算。
9. 比较运算符
=,<>,>,<,>=,<=
从securitycode表中查询A股信息。
select * from securitycode where stype='EQA'
10. 逻辑运算符
not,and,or
例6-11:从学生表中查询出年龄超过22岁的女生的信息。
select * from securitycode where stype='EQA' and exchange='CNSESH'
11. 范围运算符
格式:列名 [not] between 开始值 and 结束值
说明:列名是否在开始值和结束值之间
等效:列名>=开始值 and 列名<=结束值
列名<开始值 or 列名>结束值 (选not)
select * from securitycode where stype='EQA' and listdate>='2005-01-01' and listdate<='2006-12-31'
12. 模式匹配运算符
语法:[NOT] LIKE 通配符
说明:通配符_:一个任意字符;通配符%:任意多个任意字符
select * from securitycode where stype like'EQ_'
13. 列表运算符
语法:表达式〔NOT〕IN (列表|子查询)
说明:表达式的值(不在)在列表所列出的值中,子查询的应用将在6.3节介绍。
select * from securitycode where stype in ('EQA','EQB')
14. 空值判断符
IS [NOT] NULL
select * from securitycode where enddate is null
GROUP BY子句分组统计查询
格式:GROUP BY 列名
功能:与列名或列函数配合实现分组统计。
说明:投影列名必须出现相应的GROUP BY列名。
select sum(WARRANTINFO9),WARRANTINFO15 from warrantinfo group by WARRANTINFO15
HAVING子句限定查询
格式:HAVING 逻辑表达式
功能:与GROUP BY选项配合筛选(选择)统计结果。
说明:通常用列函数作为条件,列函数不能放在WHERE中。
select sum(WARRANTINFO9),WARRANTINFO15 from warrantinfo group by WARRANTINFO15 having sum(WARRANTINFO9)>140000.0000
查询结果:
ORDER BY排序查询
格式:ORDER BY 列名表达式表 asc/ desc
功能:按列名表升序或降序排序。
说明:只能在外查询中使用。
select * from securitycode order by listdate
连接查询
连接方法和种类
SQL Server提供了不同的语法格式支持不同的连接方式。
15. 用于FROM子句的ANSI连接语法形式
SELECT 列名列表
FROM {表名1[连接类型] JOIN 表名2 ON 连接条件}
WHERE 逻辑表达式
16. 连接种类
内连接
交叉连接
外连接
内连接
格式:from 表名1 inner join 表名2 on 连接表达式
select a.symbol,a.sname,b.ITPROFILE7
from securitycode a
inner join
itprofile b
on a.companycode=b.companycode
外连接
17. 左外连接
格式:from 表名1 left outer join 表名2 on 连接表达式
加入表1没形成连接的元组,表2列为NULL。
select a.symbol,a.sname,b.ITPROFILE7
from securitycode a
left join
itprofile b
on a.companycode=b.companycode
18. 右外连接
格式:from 表名1 right outer join 表名2 on 连接表达式
加入表2没形成连接的元组,表1列为NULL。
select a.symbol,a.sname,b.ITPROFILE7
from securitycode a
right join
itprofile b
子查询
[NOT] IN 子查询
(1)列名 [not] in (常量表)|(子查询)
说明:列值被包含或不(not)被包含在集合中。
等价:列名=any(子查询)
select ITPROFILE7 from itprofile where COMPANYCODE in (select distinct companycode from securitycode where stype='EQA' and exchange='CNSESZ')
比较子查询
19. 列名 比较符 all (子查询)
说明:子查询中的每个值都满足比较条件。
select ITPROFILE7 from itprofile where COMPANYCODE =(select distinct companycode from securitycode where symbol='600000' and exchange='CNSESH')
联合查询
UNION操作符
格式:SELECT_1 UNION [ALL]
SELECT_2 { UNION [ALL]
SELECT_n
select companycode,announmt2,PublishDate from announmt where companycode='10000001'
union
select companycode,announmt2,PublishDate from announmt1 where companycode='10000001'
6.1.2 联合查询结果排序
select companycode,announmt2,PublishDate from announmt where companycode='10000001'
union
select companycode,announmt2,PublishDate from announmt1 where companycode='10000001' order by PublishDate desc
转载于:https://blog.51cto.com/itbenet/537707
SQL Server T-SQL数据查询相关推荐
- Sql Server 2005跨数据查询
在进行Sql Server 2005跨数据库查询时,有时会出现排序规则不一致,且选出来的内容是乱码的问题. 临时解决方法,将一个库中的表中的数据导入到另一个库中,将跨数据库查询变成同数据库查询. 转载 ...
- SQL server笔记01(数据查询前内容)
数据库的创建和管理 1.创建数据库 1.create database databasename 2.create database databasename on (name=databasenam ...
- sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...
SQL Server数据库跨数据库服务器查询和跨表更新的相关知识是本文我们主要要介绍的内容,接下来我们就通过一个实例来介绍这一过程.实例是这样的:想实现的功能很简单, 在我的本地一个表用来保存省的信息 ...
- 十步优化SQL Server中的数据访问
故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...
- 拨开云雾见日月:SQL Server 调优之查询存储
拨开云雾见日月:SQL Server 调优之查询存储 数据库调优一直都是大家觉得比较困难的事情,SQL Server提供了很多方便的工具帮助大家进行性能分析,这边介绍下SQL Server的性能调优的 ...
- 在AWS RDS SQL Server中恢复数据
This article explores the process to recover data in AWS RDS SQL Server and its recent enhancements. ...
- c#窗体点餐系统 使用sql server 数据库保存数据
c#窗体点餐系统 使用sql server 数据库保存数据 登录界面 using System; using System.Collections.Generic; using System.Comp ...
- 浅析基于SQL Server PDW大数据解决方案
文章讲的是浅析基于SQL Server PDW大数据解决方案,随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力, ...
- 检测java是否连接到SQL server数据库 + SQL server数据库内置账户sa无法登录
检测java是否连接到SQL server数据库 + SQL server数据库内置账户sa无法登录 SQL 检测java是否连接到SQL server数据库 SQL server数据库内置账户SA登 ...
- SQL Server中T-SQL语句查询使用的函数
SQL Server中T-SQL语句查询使用的函数 一,字符串函数 字符串函数用于对字符串数据进行处理,并返回一个字符串或数字. 函数名 描述 举例 CHARINDEX 用来寻找一个指定的字符串在另一 ...
最新文章
- jquery-validate remote验证,返回不同的消息内容
- BadTunnel:跨网段劫持广播协议
- AIX卷管理介绍以及利用空闲PP来创建文件系统
- JS获取元素属性和自定义属性
- 红帽7 su命令与sudo服务
- ADD_SHORTCUT_ACTION
- SpringCloud-Config
- ctypes 使用方法与说明
- 《Docker技术从入门到实践》第1,2章
- 开源大数据:Apache Pulsar
- word转Html的实现方案
- 利用js+html做一个简单的体脂率计算
- 儿童专注力训练——虚线描成实现
- 磁珠的原理与应用注意事项
- Spring Boot中Lombok的使用
- c++算法基础必刷题目——前缀和与差分
- 葵花宝典第二招:突破单峰密集
- 【STM32】继电器的使用
- Unity接入TopOn聚合广告平台SDK【聚合了穿山甲,优量汇(腾讯广告),快手,Mintegral,sigmob等各大广告平台SDK】
- java购物车后台_java开发——购物车功能如何实现
热门文章
- 【eclipse中配置java】
- java 授权码模式_Spring Security OAuth2 授权码模式的实现
- java ror_Java、RoR、PHP,一个都不能少 - 第2页
- linux win10自带浏览器,win10系统下如何安装opera浏览器
- Oracle存储过程入门教程(通俗理解存储过程)
- 高效解锁Word文档密码
- Linux 多线程开发(附有案例代码)
- VC MFC(Custom Control)自定义控件
- 最全最走心:模电-模拟电子技术 复试/面试知识点大总结 (已更完)
- 计算机试题及答案大学网络创业交流会,解析:在考生文件夹下打开文档WORD.DOCX。某高校学生会计划举办一场“大学生网络创业交流会”的活动,拟邀 - 计算机二级 - 看书网站...