(二)SQL的查詢功能
1.簡單查詢
1)適用范圍:即單表查詢,查詢的字段信息和查詢條件都來自于同一張表
2)語法格式:select 字段名1,…字段名n from 表名 where 條件式
3)查詢細節(jié):
ü distinct 去掉查詢結果中的重復值
ü 若查詢某張表的全部字段,則可把select后的字段名全部用通配符*代替即可
ü union并運算可把兩個select語句的查詢結果合并成一個查詢結果(要求是兩個查詢結果要具有相同的字段個數(shù),并且對應字段的值要出自同一個值域,即具有相同的數(shù)據(jù)類型和取值范圍)
ü 查詢去向:into array 數(shù)組名——將查詢結果存放于數(shù)組中
into cursor 臨時表文件名——將查詢結果存放于臨時只讀文件,關閉時自動刪除
into dbf/table 自由表文件名——將查詢結果存放于永久表中
to file 文本文件名——將查詢結果存放于文本文件中
2.簡單的聯(lián)接查詢
1)適用范圍:查詢的字段信息或條件來自于多張表
2)語法格式:select 字段名1,…字段名n from 表名1,…表名n where 聯(lián)接條件 and 其他條件
3.嵌套查詢
1)適用范圍:查詢的字段信息出自于同一張表,而查詢條件出自于其他表
2)語法格式:select 字段名1,…字段名n from 表名1 where 外部關鍵字 in (select 外部關鍵字 from 表名2 where 條件)
3)查詢細節(jié):
ü 幾個特殊的運算符:between…and…用于查詢滿足某個值域范圍內的記錄;like用于查詢與指定字段值相匹配的記錄(like后所指定的字段值一定是個字符型數(shù)據(jù);通配符%表示0個或多個字符,“_”只表示一個字符)
ü 排序:order by 字段名1 asce/desc,…字段名n asce/desc
注意:系統(tǒng)默認升序,asce可省略,允許按一個或多個字段對查詢結果排序
ü 簡單計算查詢:count()-計數(shù) sum()-求和,所指字段是N型 avg()-求平均數(shù),所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型
ü 分組與計算查詢:group by 字段名1,…字段名n having 條件表達式 (注意:having必須和group by一起使用,因為它是對分組后的結果進一步進行篩選,having條件和where條件不矛盾,在select語句查詢中是先用where子句限定元組,然后進行分組,最后再用having子句限定分組結果)
ü 利用空值查詢:is null/is not null
ü 內外層互相嵌套查詢:內層查詢的條件需要外層查詢提供值,而外層查詢的條件需要內層查詢的結果
ü 使用量詞和謂詞的查詢:
表達式 運算符 any/some/all(select子查詢)——其中any和some表任意一個,all表示全部
[not] exists(select子查詢)——exists表示存在
ü 虛字段:即原表中并無此字段,是通過函數(shù)或者表達式計算所得出的字段名;其格式為:表達式/函數(shù) as 虛字段名
ü 顯示部分結果:top 表達式 [percent] order by 字段名1,…字段名n
注意:不使用percent時,在1-32767之間取值,說明顯示前幾條記錄
使用percent時,則在0.01-99.99之間取值,說明顯示前百分之幾的記錄
并且top短語要與order by短語同時使用才有效
4.內聯(lián)接查詢:超級聯(lián)接查詢的一種
1)適用范圍:查詢的字段名或查詢條件來自于多張表
2)語法格式:select 字段名1,…字段名n from 表名1 inner join 表名2 on 聯(lián)接條件 where 條件
相關推薦:計算機等級考試二級VF三套全真預測試題及答案北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |