首页 > 开发 > 综合 > 正文

SQL 语言

2024-07-21 02:13:09
字体:
来源:转载
供稿:网友


    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
......(因数据太多故省略之) 

  例4-2:查询表的全部数据
use pangu
select *
from employee

运行结果如下
emp_id e_name birthday job_level dept_id hire_date e_wage
-------- -------------------- --------------------------- --------- ------- ---------------------------
10010001 张三 1968-02-14 00:00:00.000 1 1001 1996-08-02 00:00:00.000 8000.0000
......

    例4-3:查询工作级别为"2"的员工姓名,查询结果按部门分组
use pangu
select e_name, dept_id
from employee
where job_level = '2'
group by dept_id e_name

运行结果如下:
e_name dept_id
-------------------- -------
李四 1001
......

    以上是对sql 语言的简单介绍,对没有接触过sql 语言的读者,看了这一节就算入门了.我们在后面的章节中会用到更多类型的sql 语句,step by step,您会成为sql 高手。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表