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

admin2015-07-24  31

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

选项 A、SELECT 教师表.教师编号,姓名FROM教师表JOIN图书出版表;ON教师表.教师编号=图书出版表.教师编号WHERE教师表.教师编号IS NULL
B、SELECT教师表.教师编号,姓名FROM教师表LEF JOIN图书出版表;ON教师表.教师编号=图书出版表.教师编号WHERE图书出版表.教师编号IS NULL
C、SELECT教师表.教师编号,姓名FROM教师表INNER JOIN图书出版表;ON教师表.教师编号=图书出版表.教师编号WHERE图书出版表,教师编号IS NULL
D、SELECT教师表.教师编号,姓名FROM教师表RIGHT JOIN图书出版表;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://jikaoti.com/ti/Zbv0FFFM
0

最新回复(0)