一、建數據庫和表
????????1.啟動數據庫服務軟件 Navicat
????????2.在 Navicat 中建立數據庫 test
????????3.? ?在test數據庫上建立teacher表:
二、基本查詢
????????2.1 從teacher表中分別檢索出教師的所有信息
SELECT *
FROM teacher
WHERE `教工號`='2000';
SELECT *
FROM teacher
WHERE `教工號`='2111';
SELECT *
FROM teacher
WHERE `教工號`='2113';
SELECT *
FROM teacher
WHERE `教工號`='2140';
SELECT *
FROM teacher
WHERE `教工號`='2150';
????????2.2 查詢teacher表中教工號、姓名和職稱
SELECT `教工號`,`姓名`,`職稱`
FROM teacher;
三、查詢時改變列標題的顯示
????????從teacher表中分別檢索出教師教工號、姓名、家庭住址信息并分別加上‘教師姓名’、‘教工號’、‘家庭住址’等標題信息
SELECT `教工號` '教工號',`姓名` '教師姓名',`職稱`,`家庭住址` '家庭住址'
FROM teacher;
四、基于WHERE語句進行數據查詢
????????4.1 基于比較條件。從teacher表中查詢出教工號小于2130的教師資料。
SELECT *
FROM teacher
WHERE `教工號` < 2130;
????????4.2 基于BETWEEN語句。從teacher表中查詢出教工號界于2100和2130之間的教師資料。
SELECT *
FROM teacher
WHERE `教工號` BETWEEN 2100 AND 2130;
????????4.3 基于IN子句的數據查詢。從teacher表中查詢出職稱為“教授”或“副教授”的教師的教工號、教師姓名、職稱及家庭住址。
SELECT `教工號`,`姓名` '教師姓名',`職稱`,`家庭住址`
FROM teacher
WHERE `職稱` IN ('教授','副教授')
????????4.4 基于LIKE子句的查詢。從teacher表中分別檢索出姓趙的教師的資料
SELECT *
FROM teacher
WHERE `姓名` LIKE '趙%'
五、使用TOP關鍵字查詢。分別從teacher中檢索出前2條及前面67%的教師的信息
# 在navicat中不支持這一條
SELECT TOP 2 * FROM teacher;# 動態生成索引
WITH TeacherWithRowNum AS (SELECT *, ROW_NUMBER() OVER (ORDER BY 教工號) AS RowNum, COUNT(*) OVER () AS TotalRowsFROM teacher
)
SELECT *
FROM TeacherWithRowNum
WHERE RowNum <= TotalRows * 0.67;
六、使用DISTINCT關鍵字查詢。從teacher表中檢索出教師的職稱并且要求顯示的職稱不重復
SELECT DISTINCT `職稱`
FROM teacher
七、用計算列查詢。將teacher表中各教師的姓名、教工號及工資按95%發放的信息,將工資按95%發放后列名該為‘預發工資’
SELECT 姓名, 教工號, 工資, 工資 * 0.95 AS 預發工資
FROM teacher;
八、使用ORDER BY語句對查詢的結果進行排序。從teacher表中查詢工資大于4500的教師的教工號、姓名,并按升序排列
SELECT `教工號`,`姓名`
FROM teacher
WHERE `工資`>4500
ORDER BY `工資` ASC
九、結語
希望這篇文章能幫助到正在進行類似作業的同學,一些有錯誤的地方還請大家指出