SQL语句示例

所属分类: 数据库 / MsSql 阅读数: 1279
收藏 0 赞 0 分享
SQL的意思是结构化查询语言,其主要功能是同各种数据库建立联系,进行沟通.查询指的是对存储于SQL的数据的请求。查询要完成的任务是:将 Select 语句的结果集提供给用户。Select 语句从 SQL 中检索出数据,然后以一个或多个结果集的形式将其返回给用户。 
==========================================================
Select 基本语法结构 
==========================================================
Select[predicate]{*|table.*|[table.]]field [,[table.]field2[,...]} 
[AS alias1 [,alias2[,...]]] 
[INTO new_table_name] 
FROM tableexpression [, ...] 
[Where...] 
[GROUP BY...] 
[ORDER BY...][ASC | DESC] ] 

predicate-->指定返回记录(行)的数量,可选:ALL,TOP 
* --------->指定表中所有字段(列). 
table ----->指定表的名称. 
field ----->指定表中字段(列)的名称 
[AS alias] -替代表中实际字段(列)名称的化名. 
[INTO new_table_name]-->创建新表及名称. 
tableexpression---->表的名称. 
[GROUP BY...]表示以该字段的值分组 
[ORDER BY...]表示按升序排列,降序选 DESC; 
------------------------------------------------------------ 
1 选择列 
------------------------------------------------------------ 
sql语句在access中的输入方法 
(1)选择"查询"-->新建-->默认设计视图-->点击确定 
(2)关闭"显示表对话框" 
(3)在菜单拦选择"视图"--->SQL视图 ,就可以输入SQL语句了 


示例1_1_选择所有字段 
Select * 
FROM useres; 
示例1_2_选择部分字段 
Select user_name,real_name,submit_date 
FROM useres; 
示例1_3查询两个表中的字段 
Select 图书信息表.图书条码, 借书信息表.图书条码 
FROM 图书信息表, 借书信息表; 

示例解读: 
通过上面简单示例我们体会到 
(1) Select 子句选择列表,它指出查询结果集所包含的字段(列)及其属性,选择所有列时用通配府*,选择部分列时要用逗号隔开 
(2) FROM 子句指出查询的表名,要指定多个表时中间用逗号隔开 
------------------------------------------------------------ 
2 TOP指定返回记录数量 
------------------------------------------------------------ 
示例1_4_返回记录数量 
Select TOP 3 * 
FROM useres; 
------------------------------------------------------------- 
3 AS派生新字段 
------------------------------------------------------------- 
示例1_5_派生新字段 
Select user_name,(submit_date+30) AS new_date 
FROM useres; 
------------------------------------------------------------ 
4 Where指定条件进行筛选 
------------------------------------------------------------ 
示例1_6等号查找指定记录 
Select * 
FROM useres 
Where useres.real_name="红红"; 
示例1_7年龄大于30的人 
Select * 
FROM useres 
Where age>30 
从上面可以看出,在根据条件进行筛选时,要用到运算符,常见的运算符如下所示: 
1 比较运算符 
= 等于 
<> 不等于 
> 大于 
< 小于 
<= 小于等于 
>= 大于等于 
2 逻辑运算符 
ALL 所有条件都为true则返回true 
AND 两个条件都为true则返回true 
OR 有一个条件为true则返回true 
NOT 对值取反 
ANY 所有条件中只要有一个为true则返回true 
BETWEEN 只要操作数在指定的范围内,则返回true 
IN 只要操作数等于表达式中的一个,则返回true 
LIKE 如果操作数与模式相匹配,则返回true 
SOME 在一系列的比较中,有些为true则返回true 
示例1_8_某日以前注册用户 
Select * 
FROM useres 
Where submit_date<#2004-12-30# 
示例1_9_某时间段注册用户 
Select * 
FROM useres 
Where submit_date BETWEEN #2004-1-1# AND #2005-5-1# 
示例1_10_按关键字查找 
Select * 
FROM useres 
Where useres.real_name LIKE "*李*" 
------------------ 
IN与OR的区别 
----------------- 
示例_IN筛选字段中的记录 
Select real_name,submit_date 
FROM useres 
Where real_name In("小李","小张") 
示例_OR筛选字段中的记录 
Select real_name,submit_date 
FROM useres 
Where real_name="小李" or real_name="小张" 
------------------------------------------------------------ 
5 GROUP BY分组结果集 
------------------------------------------------------------ 
示例1_12_GROUPBY分组结果集 
Select sex, SUM(age) AS age之SUM 
FROM useres 
GROUP BY useres.sex 
ORDER BY SUM(age) DESC; 
示例解读: 
按字段"sex"下的记录对新"字段"age之SUM"进行分组. 
ORDER BY...DESC用来指定按降序排列 
本例中的sum为SQL中的聚合函数(对一组值进行操作,返回单一的汇总值),下面是常用的几个聚合函数: 
1 SUM 求总和函数 
格式: 
SUM([ALL|DISTINCT] expression) 
参数: 
ALL 对所有值求总和,默认为ALL 
DISTINCT 求总和时排除重复项 
expression 值或表达式,可以是变量,字段,函数等 
2 AVG 求平均值函数 
格式: 
AVG([ALL|DISTINCT] expression) 
参数: 
ALL 对所有值求平均,默认为ALL 
DISTINCT 求平均时排除重复项 
expression 值或表达式,可以是变量,字段,函数等 
3 MIN和MAX函数分别为求最小值和最大值,格式和上面类似. 
4 COUNT 行计数函数 
格式: 
COUNT({[ALL|DISTINCT] expression|*}) 
ALL 表示计算除了NULL以外的其他项,为默认选项 
DISTINCT 表示COUNT返回唯一非空值的数量 
expression 为表达式,不能是txte,image,ntxt和uniqueidentifier类型的数据. 
示例1_13_AVG求平均值函数 
Select sex, AVG(age) AS age之AVG 
FROM useres 
GROUP BY useres.sex 
ORDER BY AVG(age) DESC; 
示例1_14_COUNT返回记录数量 
Select COUNT(*) 
FROM useres 
示例1_15_按性别分组记录数量 
Select sex, COUNT(*) 
FROM useres 
GROUP BY sex; 
------------------------------------------------------------ 
6 DISTINCT从尾部除去重复记录 
------------------------------------------------------------ 
Select DISTINCT real_name 
FROM useres 
------------------------------------------------------------ 
7 组合查询 
------------------------------------------------------------ 
当需要从多个表中查询时,可以使用组合查询 
Select useres.real_name, logtime.log_time 
FROM useres, logtime 
Where (((useres.real_name)=[logtime].[real_name])); 
更多精彩内容其他人还在看

浅析SQL Server 聚焦索引对非聚集索引的影响

本篇文章对SQL Server的聚焦索引和非聚集索引进行简单分析,从而总结出聚焦索引对非聚集索引的影响。有兴趣的朋友可以看下
收藏 0 赞 0 分享

浅析SQL Server的聚焦使用索引和查询执行计划

本文通过介绍默认使用索引、强制使用聚集索引、强制使用非聚集索引让我们知道对于检索所有列结果集使用主键的聚集索引是最佳选择。有兴趣的朋友可以看下
收藏 0 赞 0 分享

详解SQL Server中的数据类型

本文主要讲解了SQL中的数据类型以及几个需要注意的地方,简短的内容,深入的理解。有兴趣的朋友可以看下
收藏 0 赞 0 分享

浅析SQL Server的分页方式 ISNULL与COALESCE性能比较

本文上述重点讲述了SQL Server的分页方式,COALESCE和ISNULL函数区别之处,简短的内容,深入的理解。有兴趣的朋友可以看下
收藏 0 赞 0 分享

浅述SQL Server的聚焦强制索引查询条件和Columnstore Index

本文主要讲了强制使用索引条件来进行查询,当对于使用默认创建索引进行查询计划时觉得不是最优解,可以尝试使用强制索引来进行对比找出更好得解决方案。简短的内容,深入的理解.有兴趣的朋友可以看下
收藏 0 赞 0 分享

详解SQL Server的聚焦过滤索引

本文主要讲解了通过过滤索引来提高查询性能,同时也给出了其不同的场景以及其使用优点和明显的缺点。简短的内容,深入的理解,有兴趣的朋友可以看下
收藏 0 赞 0 分享

解析SQL Server聚焦移除(Bookmark Lookup、RID Lookup、Key Lookup)

本文主要讲解索引性能优化,着重对Bookmark Lookup、RID Lookup、Key Lookup三者进行移除的实现进行解析,以此来提高查询性能。希望对大家有所帮助
收藏 0 赞 0 分享

SqlServer 注释符 单行注释与多行注释

这篇文章主要介绍了SqlServer 注释符 单行注释与多行注释,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL设置SQL Server最大连接数及查询语句

今天遇到了关于Sql Server最大连接数(Max Pool Size)的问题,后来通过查找一些资料解决了,所以想着总结下关于SQL Server最大连接数的内容,所以这篇文章主要介绍了SQL设置SQL Server最大连接数与查询语句,有需要的朋友们可以参考借鉴。
收藏 0 赞 0 分享

浅谈SQL Server交叉联接 内部联接

本文主要讲了SQL Server的交叉联接和内部联接,同时也给出了使用需要注意的地方。有需要的朋友可以看下
收藏 0 赞 0 分享
查看更多