2007年11月试题34~35
对于下图所示的S和SC关系,当我们对其进行左外连接时,其结果集的属性列数为 (34) ,元组个数为 (35)。
供选择的答案
(34)A.6 B.7 C.8 D.9
(35)A.7 B.8 C.9 D.10
试题分析
外联接可以是左向外联接、右向外联接或完整外部联接。
在FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:
(1)LEFT JOIN 或LEFT OUTER JOIN。
左向外联接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
(2)RIGHT JOIN 或RIGHT OUTER JOIN。
右向外联接是左向外联接的反向联接,将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
(3)FULL JOIN 或 FULL OUTER JOIN。
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
本试题进行的是左外联接,关系S和SC 共有相同的属性Sno,如果在关系SC中Sno的属性值等于关系S中Sno的属性值,则直接将C表的某行与SC表的某行进行匹配,如果没有与Sno的属性值相等的行,则在相关联的结果集行中SC表的所有选择列表列均为空值。
所以其结果集的属性列数为7,元组个数为10。
答案
(34)B (35)D
2007年11月试题41
若给出关系Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel),并用SQL语言定义Student关系如下
CREATE Student(S_no CHAR(6),
Sname CHAR(30) NOT NULL,
Sage CHAR(30),
S_sex CHAR(1),
SD_name CHAR(20),
S_add CHAR(30),
S_tel CHAR(20),
PRIMARY KEY(S_no));
采用 (41) 向Student中插入记录能被正确地执行。
供选择的答案
(41)A.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_tel)VALUES (‘010456’, ’黎敏’, ’18’, ’’, ’’, ’’, ’’)
C.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_ name, S_add, S_tel)VALUES ( ,’黎敏’, ’18’, ’F’, ’计算机学院’, ’北京’, ’88661200’)
D.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_ name, S_add, S_tel)VALUES (‘010456’, ,’18’, ’F’, ’计算机学院’, ’北京’, ’8866120 0’)
试题分析
要想使插入的记录能被正确地执行,必须保证插入的字段值符合字段定义时的类型和字段长度。在选项B中,’男’占了两个字符,而定义S_sex为CHAR(1),所以不符合。在选项C中,S_no CHAR(6)没有被赋任何值也没有给出‘’是不对的。在选项D中,定义中Sname CHAR(30)NOT NULL字段Sname不能为空,而在D中这一项的值为空。所以正确的选项是A。
答案
(41)A
责任编辑:小草