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

MSSQL
如何用SQL语句来判断已知表是否存在
剖析SQL Server 2005中的报告服务架构
使用Microsoft SQL Server 2000的XML查询
让SQL Server为工作负载高峰提前准备
用Sql server一次插入多条数据
SQL SERVER2000深入学习之常见错误
关于SQL Server数据库的若干注意事项
sql server 2005中的表分区
SQL Server实用经验与技巧大汇集
限制SQL Server只能让指定的机器连接
SQL Server数据汇总完全解析
SQL查询语句使用精华
优化SQL Server服务器内存配置的策略
Sql server进行优化50招特效
用SQL语句实现异构数据库之间的导数据导入/出
SQL Server Compact Edition RC1 发布!
SQL Server死锁的分析
加快SQL Server备份和重新存储的速度
使用TSQL操作面试SQL Server开发人员
SQL 外链接操作小结 inner join left join right join

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 44 ::
收藏到网摘: 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