第 5章 表中数据的操作
5.1 在企业管理器中操作表中的数据
5.2 使用 SELECT语句查询数据
5.3 使用 INSERT语句插入数据
5.4 使用 UPDATE语句更新数据
5.5 使用 DELETE语句删除数据
5.1 在企业管理器中操作表中的数据
查询
插入
更新
删除
本章首页
5.2 使用 SELECT语句查询数据
SELECT语句的基本格式如下:
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC |
DESC ] ]
5.2 使用 SELECT语句查询数据
5.2.1 SELECT子句
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
< select_list >,:=
{ * | { table_name | view_name |
table_alias }.*
| { column_name | expression |
IDENTITYCOL | ROWGUIDCOL }
[ [ AS ] column_alias ]
| column_alias = expression
} [,...n ]
基本格式
5.2 使用 SELECT语句查询数据
5.2.2 INTO子句
[ INTO new_table ]
基本格式
5.2 使用 SELECT语句查询数据
5.2.3 FROM子句
[ FROM { < table_source > } [,...n ] ]
< table_source >,:=
table_name [ [ AS ] table_alias ] [ WITH
( < table_hint > [,...n ] ) ]
| view_name [ [ AS ] table_alias ]
| rowset_function [ [ AS ] table_alias ]
| OPENXML
| derived_table [ AS ] table_alias
[ ( column_alias [,...n ] ) ]
| < joined_table >
5.2 使用 SELECT语句查询数据
< joined_table >,:=
< table_source><join_type>
<table_source>ON<search_condition>
| < table_source > CROSS JOIN <
table_source >
| < joined_table >
< join_type >,:=
[ INNER | { { LEFT | RIGHT | FULL }
[OUTER] } ]
[ < join_hint > ]
JOIN
基本格式
5.2 使用 SELECT语句查询数据
5.2.4 WHERE子句
WHERE < search_condition > |
< old_outer_join >
< search_condition >,:=
{ [ NOT ] < predicate > | ( <
searth_condition > ) }
[ { AND | OR } [ NOT ] { <
predicate > |( < searth_condition > ) } ]
} [,...n ]
5.2 使用 SELECT语句查询数据
1,算术表达式
使用算术表达式的一般形式为:
expression operator expression
WHERE子句中允许出现的算术运算符有:
=( 等于 ), >( 大于 ), >=( 对于等于 ),
<( 小于 ), <=( 小于等于 ), <>( 不等
于 ), !>( 不大于 ), !<( 不小于 ), !=( 不
等于 )
5.2 使用 SELECT语句查询数据
2,逻辑表达式
在 Transact-SQL中可以使用的逻辑运算符
有三个:
NOT:逻辑反, 对指定的布尔表达式求反 。
AND:逻辑与, 只有当两个条件都是 TRUE
时取值为 TRUE。
OR:逻辑或, 当两个条件中任何一个条件是
TRUE时取值为 TRUE。
5.2 使用 SELECT语句查询数据
3,BETWEEN关键字
test_expression [ NOT ] BETWEEN
begin_expression AND end_expression
4,IN关键字
test_expression [ NOT ] IN
( subquery
| expression [,...n ]
)
5.2 使用 SELECT语句查询数据
5,LIKE关键字
match_expression [ NOT ] LIKE pattern
[ ESCAPE escape_character ]
有效 SQL Server通配符:
%:可匹配任意类型和长度的字符串 。
_( 下划线 ),可匹配任何单个字符 。
[ ]:指定范围或集合中的任何单个字符 。
[^]:不属于指定范围或集合的任何单个字符
6,NULL关键字
表达式 IS NULL

表达式 IS NOT NULL
基本格式
5.2 使用 SELECT语句查询数据
5.2.5 GROUP BY子句
[ GROUP BY [ ALL ]
group_by_expression [,...n ]
[ WITH { CUBE | ROLLUP } ]
]
5.2.6 HAVING子句
[HAVING <search_condition>]
基本格式
5.2 使用 SELECT语句查询数据
5.2.7 ORDER BY子句
[ ORDER BY { order_by_expression
[ ASC | DESC ] } [,...n ] ]
5.2.8 COMPUTE子句
[ COMPUTE
{ { AVG | COUNT | MAX | MIN |
STDEV | STDEVP| VAR | VARP | SUM }
( expression ) } [,...n ]
[ BY expression [,...n ] ] 基本格式
5.2 使用 SELECT语句查询数据
5.2.9 联合查询
联合查询是指将两个或两个以上的 SELECT
语句通过 UNION运算符连接起来的查询, 联
合查询可以将两个或更多查询的结果组合为单
个结果集, 该结果集包含联合查询中所有查询
的全部行 。
使用 UNION组合两个查询的结果集的两个基
本规则是:
? 所有查询中的列数和列的顺序必须相同 。
? 数据类型必须兼容 。
5.2 使用 SELECT语句查询数据
{ < query specification > | ( < query
expression > ) }
UNION [ ALL ]
< query specification | ( < query
expression > )
[ UNION [ ALL ] < query specification
| ( < query expression > )
[,..n ] ]
5.2 使用 SELECT语句查询数据
5.2.10 嵌套查询
将一个查询块嵌套在另一个查询块的 WHERE子
句或 HAVING短语的条件中的查询称为嵌套查询 。
嵌套查询中上层的查询块称为外层查询或父
查询, 下层查询块称为内层查询或子查询 。
嵌套查询一般按照由里向外的方法处理 。
在某些嵌套查询中 WHERE之后还可以使用 ANY
和 ALL两个关键字 。 这两个关键字可以和算术运
算符在一起构成各种查询条件, 如,>ALL 表示
大于子查询中的所有值 。 本章首页
5.3 使用 INSERT语句插入数据
INSERT [ INTO]
{ table_name
| view_name
}
{[( column_list ) ]
{ VALUES
( { DEFAULT | NULL | expression }
[,...n] )
| derived_table
} 本章首页
5.4 使用 UPDATE语句更新数据
UPDATE
{ table_name
| view_name
}
[ FROM { < table_source > } [,...n ]
SET
column_name = { expression | DEFAULT |
NULL }[,...n ]
[ WHERE search_condition > ] 本章首页
5.5 使用 DELETE语句删除数据
5.5.1 DELETE语句
DELETE
[ FROM ]
{ table_name WITH ( <
table_hint_limited > [,..n ] )
| view_name
}
[ WHERE
< search_condition >
]
5.5 使用 DELETE语句删除数据
5.5.2 TRUNCATE语句
其语句格式为:
TRUNCATE TABLE name
本章首页