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 高手。
|