【文章內容簡介】
嵌套查詢 嵌套查詢: 在 Select命令的 Where子句中包含另一個 Select命令 分類: 單層嵌套查詢、多層嵌套查詢 VFP只支持單層嵌套查詢 ?返回單值的子查詢: 例 : 查詢選修“數(shù)據(jù)庫原理 ”的所有學生的學號 Select 學號 From 選課 Where 課程號 = 。 (Select 課程號 From 課程 Where 課程名 = 高等數(shù)學 ) 嵌套查詢 ? 返回一組值的子查詢:通常使用運算符 Any、 All、 IN ? Any 運算符 例 : 查詢選修“ 10021”課的學生中成績比選修“ 10011”課的最低成績高的學號的學號和成績 Select 學號 , 成績 From 選課 Where 課程號 =10021 Select 學號 , 成績 From 選課 Where 課程號 =10011 Select 學號 , 成績 From 選課 Where 課程號 =10021 And 。 成績 Any (Select 成績 From 選課 Where 課程號 =10011) 嵌套查詢 ? 返回一組值的子查詢:通常使用運算符 Any、 All、 IN ? All 運算符 例 : 查詢選修“ 10021”課的學生中成績比選修“ 10011”課的最高成績高的學號的學號和成績 Select 學號 , 成績 From 選課 Where 課程號 =10021 Select 學號 , 成績 From 選課 Where 課程號 =10011 Select 學號 , 成績 From 選課 Where 課程號 =10021 And 。 成績 All (Select 成績 From 選課 Where 課程號 =10011) 嵌套查詢 ? 返回一組值的子查詢:通常使用運算符 Any、 All、 IN ? IN 運算符: = Any 例 : 查詢選修“數(shù)據(jù)庫原理 ”或“軟件工程”課的所有學生學號 Select 學號 From 選課 Where 課程號 IN 。 ( Select 課程號 From 課程 Where 課程名 =大學英語 。 Or 課程名 =高等數(shù)學 ) 多表查詢 ? 等值聯(lián)接: 按對應字段的共同值將兩個表中的記錄相聯(lián)接 例 : 寫出如下操作的命令 1. 列出所有教師姓名及所教課程 Select , As 教師姓名 , 。 From 教師 a , 課程 b Where = 2. 列出教“高等數(shù)學”課程的所有教師姓名 Select , As 教師姓名 , 。 From 教師 a , 課程 b 。 Where = And =高等數(shù)學 多表查詢 ? 等值聯(lián)接: 按對應字段的共同值將兩個表中的記錄相聯(lián)接 例 : 寫出如下操作的命令 3. 列出所有學生的成績單 Select , 姓名 , , 課程名 , 成績 。 From 學生 a , 課程 b , 選課 c 。 Where = And = 4. 列出至少選修“ 10011”和“ 10021”課的學生學號 Select From 選課 a , 選課 b Where = 。 And 號 =10011 And =10021 多表查詢 ? 非等值聯(lián)接: 例 : 列出選修“ 10021”課的學生中,成績大于學號為“ 075102”的學生該課程的學生的學號及其成績 Select , , From 選課 a , 選課 b 。 Where And = And 。 = 10021 And = 075103 聯(lián)接查詢 ? 內部聯(lián)接 (Inner Join): 指包括符合條件的每個表中的記錄。也就是說是所有滿足聯(lián)接條件的記錄都包含在查詢結果中 例 : 列出少數(shù)民族學生的學號、課程號和成績 方法 1: Select , , 成績 From 學生 a , 選課 b 。 Where = And 少數(shù)民族否 方法 2:采用內聯(lián)接方式 Select , , 成績 From 學生 a 。 Inner Join 選課 b On = Where 少數(shù)民族否 聯(lián)接查詢 ? 外部聯(lián)接 (Outer Join): ? 左外聯(lián)接( Left Outer Join): 左表的的各條記錄與右表的所有記錄依次比較,若有滿足聯(lián)接條件,則產生一個記錄;若都不滿足,則產生一個含有 NULL值的記錄。 ? 右外聯(lián)接( Right Outer Join): 右表的的各條記錄與左表的所有記錄依次比較,若有滿足聯(lián)接條件,則產生一個記錄;若都不滿足,則產生一個含有 NULL值的記錄。 ? 完全聯(lián)接( Full Join), 先按右聯(lián)接比較字段值,然后按左聯(lián)接比較字段值,重復記錄不記入查詢結果。 查詢結果處理 ? 查詢結果排序: Order By子句 Order By 排序選項 1[Asc | Desc] [,排序選項 2[Asc | Desc]…] 例 : 查詢學生基本信息,按性別 (升 )、入學成績 (降 )排序 Select * From 學生 Order By 性別 Asc , 入學成績 Desc 例 : 查詢學生的學號、姓名、性別、課程名和成績,按課程名 (升 )、入學成績 (降 )排序 Select 學生 .學號 , 姓名 , 課程名 , 成績 。 From 學生 a , 選課 b , 課程 c 。 Where = And = 。 Order By 課程名 Asc , 成績 Desc 查詢結果處理 ? 查詢結果重定向: Into / To子句 格式: [ Into 目標 ] | [ To File 文件名 [Additive] | To Printer ] 說明: 目標 : Arr