本文介绍基于
Microsoft SQL Server
软件,实现
数据库表
中多种
数据查询
方法的具体操作。
系列文章中示例数据来源于《
SQL Server实验指导(2005版)
》一书。大家用自己手头的数据,可以将相关操作与分析过程加以完整重现。
(1) 启动Microsoft SQL Server 2008 R2软件;
(2) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“附加”选项;
(3) 选择需要加以附加的
jxsk
数据库物理文件,选择定位文件夹“G:\sql\chutianjia sql”并选择对应数据库jxsk的物理文件并选择“确定”按钮,再次选择“确定”即可;
(4) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT*FROM S
GO
(5) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN,YEAR(GETDATE())-AGE AS 出生年份 FROM S
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT DISTINCT SNO FROM SC
WHERE SCORE<60
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN,DEPT,AGE FROM S
WHERE AGE BETWEEN 20 AND 23
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN,SNO,SEX FROM S
WHERE SN LIKE'李%'
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN AS 姓名,DEPT AS 系名 FROM S
WHERE SN LIKE '_明%' AND SEX='男'
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN AS 姓名,DEPT AS 系名 FROM S
WHERE DEPT IN('信息','计算机')
ORDER BY DEPT, SN DESC
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
SELECT SNO AS 学号, CNO AS 课号,SCORE AS 成绩 FROM SC
WHERE CNO='C2' AND SCORE IS NOT NULL
ORDER BY SCORE DESC
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT COUNT(*) AS 计算机系人数 FROM S
WHERE DEPT='计算机'
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT COUNT(*) AS 人数, AVG(SCORE)AS 平均分数,
MAX (SCORE) AS 最高分数
FROM C,SC
WHERE CN='微机原理'AND C.CNO=SC.CNO
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT CNO AS 课程号, COUNT (SNO) AS 人数
FROM SC
GROUP BY CNO
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图 。
(1) 点击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT SN AS 姓名,AVG(SCORE) AS 平均成绩
from S,SC
WHERE S.SNO=SC.SNO
GROUP BY S.SN HAVING COUNT(*)>2
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 点击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT S.SNO,SN,CN,SCORE FROM S,C,SC
WHERE S.SNO=SC.SNO AND C.CNO=SC.CNO
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 点击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT C.CNO,TN,COUNT(SC.SNO) AS 学生人数
FROM T,TC,C,SC
WHERE T.TNO=TC.TNO AND C.CNO=TC.CNO AND C.CNO=SC.CNO
GROUP BY C.CNO,T.TN
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 点击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT X.TN AS 姓名,X.SAL AS 教师工资,Y.SAL AS 刘伟工资
FROM T AS X,T AS Y
WHERE X.SAL>Y.SAL AND Y.TN='刘伟'
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 点击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT DISTINCT (SN) AS 姓名,DEPT AS 系名
FROM C AS C1,C AS C2,SC AS SC1, SC AS SC2,S
WHERE C1.CNO=SC1.CNO AND C2.CNO=SC2.CNO AND C1.CN='程序设计' AND C2.CN='微机原理' AND SC1.SNO=SC2.SNO AND SC1.SNO=S.SNO
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT S.SNO,SN,CN,SCORE FROM S
LEFT OUTER JOIN SC ON S.SNO=SC.SNO
LEFT OUTER JOIN C ON C.CNO=SC.CNO
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT TNO,TN,PROF FROM T
WHERE PROF=(SELECT PROF FROM T WHERE TN='刘伟')
GO
(3) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT TN FROM T
WHERE TNO=ANY(SELECT TNO FROM TC WHERE CNO='C5')
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT TN FROM T
WHERE TNO IN (SELECT TNO FROM TC WHERE CNO='C5')
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT TN,SAL,DEPT FROM T
WHERE SAL>ALL(SELECT SAL FROM T WHERE DEPT='计算机')AND (DEPT <>'计算机')
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT TN,DEPT FROM T
WHERE NOT EXISTS(SELECT*FROM TC WHERE TNO=T.TNO AND CNO='C5')
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT DISTINCT SNO FROM SC SCX
WHERE NOT EXISTS(SELECT*FROM SC SCY WHERE SCY.SNO='S2'AND NOT EXISTS (SELECT*FROM SC SCZ WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO))
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;
(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:
USE jxsk
GO
SELECT*FROM S WHERE DEPT='计算机'
UNION
SELECT*FROM S WHERE AGE<=19
GO
(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图。
至此,大功告成。