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