当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(11)

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

MSSQL 中的 SQL Server数据库技术(11)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 57 ::
收藏到网摘: n/a

    SQL 语言是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制4 个方面,是一个通用的、功能极强的关系数据库语言。

4.1.1 SQL 概述
   
 SQL 语言是1974 年由Boyce 和Chamberlin 提出的。1975 年至1979 年,IBM 公司San Jose Research Laboratory 研制的关系数据库管理系统原形系统System R 实现了这种语言。由于它功能丰富,语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。经过多年的发展,SQL 语言已成为关系数据库的标准语言。

4.1.2 SQL 语言的组成
    SQL 语言主要由以下几部分组成:
     ·数据定义语言(DDL,Data Definition Language);
     ·数据操纵语言(DML,Data Manipulation Language);
     ·数据控制语言(DCL,Data Control Language);
     ·其它语言要素(Additional Language Elements)。
    SQL 语句数目、种类较多、其主体大约由40 条语句组成,如表4-1 所示。



4.1.3 SQL 语句的结构
    所有的SQL 语句均有自己的格式,如图4-1 所示每条SQL 语句均由一个谓词(Verb)开始,该谓词描述这条语句要产生的动作,如图4-1 中的SELECT 关键字。谓词后紧接着一个或多个子句(Clause)子句中给出了被谓词作用的数据或提供谓词动作的详细信息。每一条子句由一个关键字开始,如图4-1 中的WHERE。



4.1.4 常用的SQL 语句

    在使用数据库时用得最多的是数据操纵语言(Data Manipulation Language)。 DML包含了最常用的核心SQL 语句,即SELECT 、INSERT 、UPDATE 、DELETE。 下面对以后章节中经常用到的SELECT 语句作简单介绍(有关这些语句的具体语法请参见“数据查询:和“数据库更新”章节)
    简单的SELECT 语句的语法如下:
      SELECT [ALL|DISTINCT] <目标表达式>[,<目标表达式>]...
      FROM <表或视图名>[, <表或视图名>]...
      [WHERE <条件表达式>]
      [GROUP BY <列名1> [HAVING <条件表达式>]]
      [ORDER BY <列名2> [ASC | DESC] ]
    整个SELECT 语句的含义是:根据WHERE 子句的条件表达式,从FROM 子句指定的基本表或视图中找出满足条件的元素组,再按SELECT 子句中的目标列表达式选出元素组中的属性值形成结果表。如果有GROUP 子句,则将结果按<列名1>的值进行分组,该属性列值相等的元素组为一个组,每个组产生结果表中的一条记录。如果GROUP 子句带有HAVING 短语,则只有满足指定条件的组才予以输出。如果有ORDER 子句,则结果表还要按<列2>的值升序或降序排序。下面对SELECT 语句的常用形式举例说明。

    例4-1:查询所有员工的员工号和工资
use pangu
select emp_id,e_wage
from employee

运行结果如下:
emp_id e_wage
-------- ---------------------
10010001 8000.0000
......(因数据太多故省略之)

   &nb