sqlserver语句:SQLServer 常用语句(按功能分)来源: 发布时间:星期一, 2009年9月7日 浏览:44次 评论:0
、 简单查询
简单Transact-SQL查询只包括选择列表、FROM子句和WHERE子句它们分别介绍说明所查询列、查询 表或视图、以及搜索条件等例如下面语句查询testtable表中姓名为“张 3”nickname字段和email字段 SELECT nickname,email FROM testtable WHERE name='张 3' () 选择列表 选择列表(select_list)指出所查询列它可以是组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成 1、选择所有列 例如下面语句显示testtable表中所有列数据: SELECT * FROM testtable 2、选择部分列并指定它们显示次序查询结果集合中数据排列顺序和选择列表中所指定列名排列顺序相同 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中可重新指定列标题定义格式为: 列标题=列名 列名 列标题如果指定列标题不是标准标识符格式时应使用引号定界符例如下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件所有行或删除其中重复数据行默认 为ALL使用DISTINCT选项时对于所有重复数据行在SELECT返回结果集合中只保留行 5、限制返回行数 使用TOP n [PERCENT]选项限制返回数据行数TOP n介绍说明返回n行而TOP n PERCENT时介绍说明n是 表示百分数指定返回行数等于总行数百分的几 例如: SELECT TOP 2 * FROM testtable SELECT TOP 20 PERCENT * FROM testtable ( 2)FROM子句 FROM子句指定SELECT语句查询及和查询相关表或视图在FROM子句中最多可指定256个表或视图它们的间用逗号分隔在FROM子句同时指定多个表或视图时如果选择列表中存在同名列这时应使用对象名限定这些列 所属表或视图例如在usertable和citytable表中同时存在cityid列在查询两个表中cityid时应 使用下面语句格式加以限定: SELECT username,citytable.cityid FROM usertable,citytable WHERE usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名 别名 ( 2) FROM子句 FROM子句指定SELECT语句查询及和查询相关表或视图在FROM子句中最多可指定256个表或视图它们的间用逗号分隔在FROM子句同时指定多个表或视图时如果选择列表中存在同名列这时应使用对象名限定这些列 所属表或视图例如在usertable和citytable表中同时存在cityid列在查询两个表中cityid时应使用下面语句格式加以限定: SELECT username,citytable.cityid FROM usertable,citytable WHERE usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名 别名 例如上面语句可用表别名格式表示为: SELECT username,b.cityid FROM usertable a,citytable b WHERE a.cityid=b.cityid SELECT不仅能从表或视图中检索数据它还能够从其它查询语句所返回结果集合中查询数据 例如: SELECT a.au_fname+a.au_lname FROM authors a,titleauthor ta (SELECT title_id,title FROM titles WHERE ytd_sales>10000 ) AS t WHERE a.au_id=ta.au_id AND ta.title_id=t.title_id 此例中将SELECT返回结果集合给予别名t然后再从中检索数据 ( 3) 使用WHERE子句设置查询条件 WHERE子句设置查询条件过滤掉不需要数据行例如下面语句查询年龄大于20数据: SELECT * FROM usertable WHERE age>20 WHERE子句可包括各种条件运算符: 比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!< 范围运算符(表达式值是否在指定范围):BETWEEN…AND… NOT BETWEEN…AND… 列表运算符(判断表达式是否为列表中指定项):IN (项1,项2……) NOT IN (项1,项2……) 模式匹配符(判断值是否和指定通配格式相符):LIKE、NOT LIKE 空值判断符(判断表达式是否为空):IS NULL、NOT IS NULL 逻辑运算符(用于多条件逻辑连接):NOT、AND、OR 1、范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30 2、列表运算符例:country IN ('Germany','China') 3、模式匹配符例:常用于模糊查找它判断列值是否和指定串格式相匹配可用于char、 varchar、text、ntext、datetime和smalldatetime等类型查询 可使用以下通配: 百分号%:可匹配任意类型和长度如果是中文请使用两个 0
相关文章
读者评论发表评论 |