一.实验目的
熟悉对表的查询
二.实验设备
PC机一台
三.实验内容
练习对表的查询
四.实验步骤
打开SQL Server Management Studio 18,弹出一个连接到服务器的窗口,在这里面,需要将服务器名称改为(local),点击连接。在实验二中建立了CLASS数据库和里面的表,现在根据不同的需求对表进行查询。
1.查询指定列
SELECT Sno,Sname /*查询全体学生的学号与姓名*/
FROM Student;
SELECT Sname,Sno,Sdept /*查询全体学生的姓名,学号,所在系*/
FROM Student;
2.查询全部列
SELECT* /*查询全体学生的详细信息*/
FROM Student;
/*等价于*/
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student;
3.查询经过计算的值
SELECT Sname,2014-sage /*查询全体学生的姓名及其出生年份*/
FROM Student;
SELECT Sname,'Year of Birth:',2014-Sage,LOWER(Sdept)
/*查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名*/
FROM Student;
4.消除取值重复的行
SELECT DISTINCT Sno /*查询选修了课程的学生学号*/
FROM SC;
用建立数据库,建立数据库表的方法建立SPJ数据库,里面包括S、P、J及SPJ表(见数据库系统概论第五版高等教育出版社书P71)
用SQL语句建表
CREATE TABLE S
(
SNO CHAR(3),
SNAME CHAR(10),
STATUS CHAR(2),
CITY CHAR(10));
);
CREATE TABLE P
(
PNO CHAR(3),
PNAME CHAR(10),
COLOR CHAR(4),
WEIGHT INT
);
CREATE TABLE J
(
JNO CHAR(3),
JNAME CHAR(10),
CITY CHAR(10)
);
CREATE TABLE SPJ
(
SNO CHAR(3),
PNO CHAR(3),
JNO CHAR(3),
QTY INT
);
1.求供应工程J1零件的供应商号码SNO
SELECT SNO
FROM SPJ
WHERE JNO='J1';
2.求供应工程J1零件P1的供应商号码SNO
SELECT SNO
FROM SPJ
WHERE JNO='J1'AND PNO='P1';
3.找出所有供应商的姓名和所在城市
SELECT SNAME,CITY
FROM S;
4.找出使用供应商S1所供应零件的名称及其数量
SELECT PNAME,COLOR,WEIGHT
FROM P;
5.找出工程项目J2使用的各种零件的名称及其数量
SELECT JNO
FROM SPJ
WHERE SNO='S1';
6.找出工程项目J2使用的各种零件的名称及其数量
SELECT P.PNAME,SPJ.QTY
FROM P,SPJ
WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2';
7.找出使用上海产的零件的工程名称
SELECT DISTINCT PNO
FROM SPJ
WHERE SNO IN
(SELECT SNO
FROM S
WHERE CITY='上海' );