问答题 在SQL Server 2000中,有教师表Teachers(TeacherID,Name,LeaderID),其中TeacherID是主码,类型是长度为4的普通编码定长字符串,且每位是0~9的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderID是每个教师的领导的TeacherID。
问答题 写出创建Teachers表的SQL语句,要求语句中包含所有的约束。
【正确答案】
【答案解析】create table Teachers(
TeacherID char(4)check(TeacherID like“[0~9][0~9][0~9][0~9]”),
Name varchar(10),
LeaderID char(4),
primary key TeacherID.
foreign key LeaderID references Teachers
(TeacherID)
) [解析] 创建表格使用CREATE语句。对于查询表中领导的领导信息可以通过对该表进行自我连接,1234的条件约束可以通过WHERE子句来实现。
问答题 现要查询TeacherID为“1234”的教师的领导的上级领导的TeacherID,请给出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询。
【正确答案】
【答案解析】select T2.LeaderID from Teachers as T1 joinTeachers as T2 on T1 LeaderID=T2.TeacherID where T1TeacherID="1234"