小弟新手 各位高人能否介绍几本sql的书 小弟对在sql语句中使用过程控制语句如if,when等不太了解 谢谢
解决方案 »
- 在线等答案,一个SQL语句的问题
- 查询结果随机抽取n条
- 执行 sp_executesql 创建一个临时表后,外部是不是不能访问?
- 大家帮我看看我写的一存储过程
- 请问 希望查询表A的某条记录和其在表B中对应的多条记录,显示在一张表中,该怎样写呢?
- 请教大侠,msde2000怎么安装到一半就静止不动了?也没有安装上去!
- 为什么在我数据库创建了函数,但在调用的时候却现了问题????
- sybase数据库中的数据如何倒入到mssqlserver
- 存储过程中怎样给 varbinchar(16) 传参
- 如何获取触发器的当前状态!!!
- MS SQL SERVER2000个人版可以运行子查询语句吗?
- SQL中DATETIME类型的问题,如何作加法求和...
IF Boolean_expression { sql_statement | statement_block }
[
ELSE
{ sql_statement | statement_block } ]参数
Boolean_expression返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。{sql_statement | statement_block}是任何有效的 Transact-SQL 语句或以语句块定义的语句分组。若要定义语句块(批处理),采用控制流语言关键字 BEGIN 和 END。虽然所有的 Transact-SQL 语句在 BEGIN...END 块内都有效,但有些 Transact-SQL 语句不应组合在同一个批处理(语句块)中。结果类型
Boolean示例
当至少一本书满足这些条件时,这个示例会给出价格在 $10 与 $20 之间的传统烹调书的列表。否则,SQL Server 会给出一条信息,说明没有书满足这个条件,并生成价格低于 $10 的传统烹调书的列表。USE pubs
GO
DECLARE @msg varchar(255)
IF (SELECT COUNT(price)
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20) > 0
BEGIN
SET NOCOUNT ON
SET @msg = 'There are several books that are a good value between $10 and $20. These books are: '
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20
END
ELSE
BEGIN
SET NOCOUNT ON
SET @msg = 'There are no books between $10 and $20. You might consider the following books that are under $10.'
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price < 10
END下面是结果集:There are several books that are a good value between $10 and $20. These books are:
title
------------------------------------------------------------------------
Fifty Years in Buckingham Palace Kitchens
Sushi, Anyone?(2 row(s) affected)