【例2】顯示STUD 表中出生日期在85-86 年之間的學(xué)生的學(xué)號,姓名,出生日期。
SELECT 學(xué)號,姓名,出生日期 FROM 學(xué)生;
WHERE 出生日期 BETWEEN {^1985/01/01} AND {^1986/12/31}
【例3】顯示STUD 表中姓李的學(xué)生的學(xué)號,姓名,出生日期。
SELECT 學(xué)號,姓名,出生日期 FROM 學(xué)生;
WHERE 姓名 LIKE "l%"
(注:LIKE 是字符匹配運(yùn)算符,可使用通配符%(表示0-多個字符)、—(表示一個字府))
. SQL 的復(fù)雜查詢
(1).連接查詢
【說明】在一個數(shù)據(jù)庫中的多個表之間一般都存在著某些聯(lián)系,在一個查詢語句中同時涉及到兩個或兩個以上的表時,這種查詢稱之為連接查詢(也稱為多表查詢)。在多表之間查詢必須處理表與表之間的連接關(guān)系。
SELECT [ALL | DISTINCT] <字段列表>
FROM <表1>[,表2…..]
WHERE <條件表達(dá)式>
【例1】查詢并顯示各個學(xué)生的學(xué)號,姓名,各科成績及課程名。
SELECT a.學(xué)號,a.姓名,b.課程號,c.成績 ;
FROM STUD a,SC1 b,SC c ;
WHERE a.學(xué)號=c.學(xué)號 AND b.課程號=c.課程號
【例2】查詢并顯示各個學(xué)生所學(xué)課程的情況。
SELECT STUD.學(xué)號,STUD.姓名,SC1.課程號 ;
FROM STUD,SC,SC1;
WHERE STUD.學(xué)號=SC.學(xué)號 AND SC.課程號=SC1.課程號
(2).連接問題
在SQL 語句中,在FROM 子句中提供了一種稱之為連接的子句,連接分為內(nèi)部聯(lián)接和外部聯(lián)接,外部聯(lián)接又可分為左聯(lián)接、右聯(lián)接和全聯(lián)接。
1). 內(nèi)部聯(lián)接
內(nèi)部聯(lián)接是指包括符合條件的每個表的記錄,也稱之為全記錄操作。而上面兩個例子就是內(nèi)連接。
【例 】查詢并顯示各個學(xué)生的學(xué)號,所學(xué)課程及課程成績。
SELECT SC.學(xué)號,SC1.課程名,SC.成績 ;
FROM SC,SC1 ;
WHERE SC.課程號=SC1.課程號
如果采用內(nèi)部聯(lián)接方式,則命令如下:
SELECT a.學(xué)號,b.課程名,成績 ;
FROM SC a INNER JOIN SC1 b ON a.課程號=b.課程號
將會得到完全相同的結(jié)果。
2). 外部聯(lián)接
外部聯(lián)接是指把兩個表分為左右兩個表。右聯(lián)接是指連接滿足條件右側(cè)表的全部記錄。左聯(lián)接是指連接滿足條件左側(cè)表的全部記錄。全聯(lián)接是指連接滿足條件表的全部記錄。
(3).嵌套查詢
在SQL 語句中,一個SELECT-FROM-WHERE 語句稱為一個查詢塊。將一個查詢塊嵌套在另一個查詢塊的WHERE 子句中的查詢稱為嵌套查詢。
相關(guān)推薦:
2014年9月計算機(jī)等考答案專題| 等考真題 | 答案交流
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |