当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server数据库技术(56)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(56)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

从本节开始,我们将用大量的实例来报告SELECT 语句的利用.首先从最简单也是最常用的单表查询开始.
10.2.1 挑选列
(1) 用SELECT 子句来指定查询所需的列,多个列之间用逗号脱离


(2) 可以利用标记"*"来选取表的全部列


(3) 在查询后果中增添列

10.2.2 挑选行
(1) 利用WHERE 子句
用户在查询数据库时,常常并不需求理解全部信息,而只需求此中一部份满意某些条件的信息.在这种情形下就需求在SELECT 语句中加入条件,以挑选数据行,这时就用到WHERE 子句.WHERE 子句中的条件是由表达式以及逻辑联合词AND、 OR、NOT 等构成.

例10-4: 查询工资介于2000 元和3000 元之间的员工姓名.
use pangu
select e_name
from employee
where e_wage between 2000 and 3000
运行后果以下:
e_name
--------------------
王二
伍将
(2 row(s) affected)

(2) 利用DICTINCT 关键字
用户在对数据库举行查询时,会呈现反复后果,这时就需求利用DISTINCT 关键字消除反复部份.
例10-5: 列出工资大于7000 的员工所属的部门编号.
use pangu
select distinct dept_id
from employee
where e_wage > 7000
运行后果以下:
dept_id
-------
1001
1005
(2 row(s) affected

(3) 利用IN 关键字
在利用WHERE 子句举行查询时,若条件表达式中呈现若干条件相同的情形,就会使表达式显得冗长,不便于用户利用,这时可用IN 关键字来简化.
例10-6: 查询在编号为‘1001’ 和‘1002’ 的部门中工作的员工姓名.
use pangu
select e_name
from employee
where dept_id in (’1001’,’1002’)
运行后果以下:
e_name
--------------------
张三
李四
......

[1] [2] 下一页  



(4) 利用通配符
在WHERE 子句中可以利用谓词LIKE 来举行字符串的匹配查抄,此中将大量利用我们在Transact-SQL 语言底子中介绍到的通配符.


假如用户要查找的数据中本身就包含了通配符,如"SQL_Mail", 就需求利用逃逸字符来辨别通配符与实际存在的字符.其格局以下;
LIKE ‘字符匹配串’ ESCAPE ‘逃逸字’



10.2.3 对查询后果排序
(1) 利用ORDER 子句
当用户要对查询后果举行排序时就需求在SELECT 语句中加入ORDER BY 子句.在ORDER BY 子句中可以利用一个或多个排序要求,其优先级次序为从左到右.
例10-9: 查询工作级别为‘2’ 的员工姓名,查询后果按工资排序.


(2) 选取前几行数据
在SELECT 语句中利用TOP n 或TOP n PERCENT, 来选取查询后果的前n 行或前百分之n 的数据.此语句常常和ORDER 子句一同利用.
例10-11: 查询工资最高的三名员工的姓名和工资.
use pangu
select top 3 e_name, e_wage
from employee
order by e_wage desc
运行后果以下:
e_name e_wage
-------------------- ---------------------
张三 8000.0000
大师傅 7500.0000
张龙 7000.0000
(3 row(s) affected)

10.2.4 查询后果分组
(1) 利用GROUP 子句
当用户要对查询后果举行分组时,就需求在SELECT 语句中加入GROUP BY 子句.
例10-12: 查询工作级别为‘2’ 的员工姓名,查询后果按部门分组;


(2) 利用WITH { CUBE | ROLLUP }选项
利用这两个选项可以分外返回按组统计的数据行.与CUBE 差别的是,ROLLUP 选项只返回最高层的分组列(即,第一个分组列)的统计数据.读者可以从下面的例子中解析二者的差别.
例10-13 :查询公司编号、公司所订购的产品编号和应支付的金额,查询后果按公司编号和产品编号分组(本例中利用了统计函数,关于其利用请拜见下一小节).





(3) 利用HAVING 子句
HAVING 子句用来挑选特别的组,它将组的一些属性与常数值举行对比,假如一个组满意HAVING 子句中的逻辑表达式,它便可以包含在查询后果中.


注意:
在SELECT语句中WHERE、GROUP BY、HAVING子句和统计函数的履行次序以下:WHERE子句从数据源中去掉不符合
其搜索条件的数据行;GROUP BY 子句汇集数据行到各个组中;统计函数为各个组计算统计值;HAVING子句去掉不符合共组搜索条件的各组数据行.

10.2.5 利用统计函数
在SELECT 语句中利用统计函数,可以得到很多有效的信息.



上一页  [1] [2] 

  以上是“SQL Server数据库技术(56)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .