设教师表保存的是教师信息,教师表的表结构为(教师编号,姓名,职称),图书出版表保存的是教师出版图书的情况,图书出版表的表结构为(ISBN号,教师编号,图书名,出版社,出版年份)。如果希望查询从来没有出版过图书的教师编号和姓名,正确的SQL语句是( )

admin2016-06-28  30

问题 设教师表保存的是教师信息,教师表的表结构为(教师编号,姓名,职称),图书出版表保存的是教师出版图书的情况,图书出版表的表结构为(ISBN号,教师编号,图书名,出版社,出版年份)。如果希望查询从来没有出版过图书的教师编号和姓名,正确的SQL语句是(    )。

选项 A、SELECT教师表.教师编号,姓名:FROM教师表JOIN图书出版表;
ON教师表.教师编号=图书出版表.教师编号WHERE教师表.教师编号IS NULL
B、SELECT教师表.教师编号,姓名FROM教师表LEFT JOIN图书出版表;
ON教师表.教师编号=图书出版表.教师编号WHERE图书出版表.教师编号IS NULL
C、SELECT教师表.教师编号,姓名FROM教师表INNER JOIN图书出版表;
ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL
D、SELECT教师表.教师编号,姓名FROM教师表RIGHT JOlN图书出版表;
ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL

答案B

解析 本题考查超连接查询,在一般的SQL中,超连接运算符是“*=”(左连接)和“=*”(右连接)。超连接查询有四种连接方式,其基本格式为SELECT……FROM左表INNER |LEFT | RIGHT | FULL JOIN右表ON连接条件wHERE其它条件。其中:
.INNER JOIN等价于JOIN,为普通连接(也称为内部连接),普通连接只有满足连接条件的记录才出现在查询结果中;
.LEFT JOIN为左连接,左连接除满足连接条件的记录出现在查询结果中外,第一个表中不满足连接条件的记录也出规在查询结果中,不满足连接条件的记录的对应部分为.NULL.:
.RIGHT JOIN为右连接,除满足连接条件的记录出现在查询结果中外,第二个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL.;
.FULL JOIN称为全连接除满足连接条件的记录出现在查询结果中外,两个表中不满足连接条件的记录也出现在查询结果中,即两个表中的内容都会显示在结果中,不满足连接条件的记录的对应部分为.NULL.。
    查询从来没有出版过图书的教师编号和姓名,B为正确选项。
转载请注明原文地址:https://kaotiyun.com/show/ZsIp777K
0

最新回复(0)