SQL Serve中的连接查询
一、 实验目的:
1. 掌握采用Transact-SQL实现连接查询。
2. 掌握等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。
二、 实验内容:
按照学生课程数据库studb和SPJ数据库完成以下查询:
(1) 查询使用红色零件的工程名称。
(2) 查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。
(3) 查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。
(4) 求供应工程J1零件的供应商的完整信息。
(5) 查询使用北京供应商供应零件的工程信息。
(6) 查询选修3号课程且成绩在85分以上的所有学生。
(7) 查询先行课的学分为4的课程信息。
(8) 查询课程与其间接先行课的名称。
(9) 查询其他系中比计算机科学系所有学生年龄都小的学生完整信息,用两种方法实现。
(10)查询其他系中比计算机科学系某一学生年龄大的学生姓名与年龄,用两种方法实现。
(11)查询至少用了供应商S1所供应的所有零件的工程号JNO,用带EXISTS谓词的子查询实现。
(12)查询参与了全部项目的供应商编号SNO,用带EXISTS谓词的子查询实现。
(13)查询所有使用了P3零件的工程号JNO,用带EXISTS谓词的子查询实现。
(14)查询所有没有使用了P3零件的工程号JNO,用带EXISTS谓词的子查询实现。
三、实验要求:
1. 写出正确的Transact-SQL命令。
2. 无须截屏记录正确的查询结果。要求记录实验过程中发生的有学习意义的错误及错误信息。
3. 写好实验小结
4. 下课后直接提交实验报告
create database SPJ
ON(
NAME=SPJdata,
FILENAME='D:\project\SPJdata.mdf',
SIZE=5mb,
FILEGROWTH=2MB
),
(
NAME='SPJlog',
FILENAME='D:\project\SPJlog.ldf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=10MB
)
GO
use SPJ;
create table S
(
SNO char(4) PRIMARY KEY,
SNAME char(10),
STATUS char(10),
CITY char(5),
)
create table P
(
PNO char(4) PRIMARY KEY,
PNAME char(10) NOT NULL,
COLOR char(10),
WEIGHT SMALLINT,
)
create table J
(
JNO char(4) PRIMARY KEY,
JNAME char(10),
CITY char(10),
)
create table SPJ(
SNO char(4),
PNO char(4),
JNO char(4),
QTY INT,
FOREIGN KEY (SNO) REFERENCES S(SNO),
FOREIGN KEY (PNO) REFERENCES P(PNO),