一、實驗?zāi)康?
1.掌握SQL語言中SELECT語句的格式,掌握WHERE、GROUPBY、ORDER BY等子句的用法。
2.掌握簡單查詢、連接查詢、嵌套查詢的應(yīng)用。
3.了解各種查詢條件的表達(dá)方法。
4.學(xué)會解決復(fù)雜查詢的思路與方法。
二、實驗內(nèi)容及上機步驟
【上機題一】
用SQL語言查詢所有在2000年以前參加工作并且職稱是講師的職工。
【上機步驟】
本題的知識點是帶WHERE子句的SELECT查詢語句。
在命令窗口中執(zhí)行如下命令:
SELECT * FROM 職工表 where year(工作日期)<2000 AND 職稱=’講師’
【上機題二】
用SQL語言實現(xiàn)查詢職工表中所有姓名里有一個“利”字的職工信息。
【上機步驟】
本題的知識點是帶有WHERE子句的SELECT查詢語句及l(fā)ike模式匹配條件與通配符的使用。
在命令窗口中執(zhí)行如下命令:
SELECT * FROM 職工表 WHERE 姓名 like ‘%利%’
說明:
查詢條件是“姓名里有一個利字”,這個“利”字可以是姓,也可以是名,因此它可在最前,也可在中間或最后。Like通配符只有兩個:?和%,?表示任意一個字符,%表示任意多個字符,因此表達(dá)式應(yīng)該為‘%利%’。
【上機題三】
用SQL語言實現(xiàn)將工資表中所有記錄按職稱津貼的值升序輸出,如職稱津
貼值相同,再按基本工資的值降序輸出。
【上機步驟】
本題的知識點是帶有ORDER BY子句的SELECT語句。
在命令窗口中執(zhí)行如下命令:
select * from 工資表 order by 職稱津貼 ASC ,基本工資 DESC
說明:
注意排序的次序,第一排序字段寫在前面,第二排序字段寫在后面,然后要說明排序方式。升序用ASC表示,也可省略不寫;降序用DESC表示。
【上機題四】
用SQL語言實現(xiàn)統(tǒng)計職工表中各部門的男職工人數(shù)。
【上機步驟】
本題的知識點是GROUP BY子句與WHERE子句的SELECT語句。
在命令窗口中執(zhí)行如下命令:
SELECT 部門編號,COUNT(*) AS 人數(shù) FROM 職工表 WHERE 性別=’男’;
group by 部門編號
說明:
先用where子句將職工表中的所有男職工篩選出來,然后對部門進(jìn)行分組,統(tǒng)計出各部門的男職工人數(shù)。
【上機題五】
用SQL語言實現(xiàn)統(tǒng)計職工表中各部門的男職工人數(shù),只輸出人數(shù)大于1人
的部門與人數(shù)。
【上機步驟】
本題的知識點是帶有HAVING子句的GROUP BY子句及WHERE子句的SELECT語句。
在命令窗口中執(zhí)行如下命令::
SELECT 部門編號,COUNT(*) as 人數(shù) FROM 職工表 WHERE 性別='男';
GROUP BY 部門編號 HAVING COUNT(*)>1
【上機題六】
用SQL語言實現(xiàn)從職工表、部門表和工資表中查詢部門編號為“01”的職
工信息,要求輸出職工編號、姓名、部門編號、部門名稱、基本工資字段的值。
【上機步驟】
本題的知識點多表聯(lián)合查詢操作。
在命令窗口中執(zhí)行如下命令::
SELECT a.職工編號,a.姓名,a.部門編號,b.部門名稱,c.基本工資;
FROM 職工表 a,部門表 b,工資表 c;
WHERE b.部門編號=a.部門編號 AND a.職工編號=c.職工編號 AND;
a.部門編號='01'
【上機題七】
使用嵌套查詢,輸出基本工資大于1000的職工的編號、姓名、職稱字段的值。
【上機步驟】
本題的知識點是嵌套查詢操作。
在命令窗口中執(zhí)行如下命令:
SELECT 職工編號,姓名,職稱 FROM 職工表;
WHERE職工編號 IN(SELECT 職工編號 FROM 工資表 WHERE 基本工資>1000)