程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server數據庫技術(11)

SQL Server數據庫技術(11)

編輯:關於SqlServer

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 所示。

SQL Server數據庫技術(11)(圖一)

圖文

SQL Server數據庫技術(11)(圖二)

圖文



4.1.3 SQL 語句的結構
所有的SQL 語句均有自己的格式,如圖4-1 所示每條SQL 語句均由一個謂詞(Verb)開始,該謂詞描述這條語句要產生的動作,如圖4-1 中的SELECT 關鍵字。謂詞後緊接著一個或多個子句(Clause)子句中給出了被謂詞作用的數據或提供謂詞動作的詳細信息。每一條子句由一個關鍵字開始,如圖4-1 中的WHERE。

SQL Server數據庫技術(11)(圖三)

圖文



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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved