设购书表的表结构为(顾客编号,图书号,数量,购书日期),若查询既购买了图书号为“t001”,又购买了 图书号为“t002”的顾客编号,则正确的SQL语句是( )。

admin2017-09-25  15

问题 设购书表的表结构为(顾客编号,图书号,数量,购书日期),若查询既购买了图书号为“t001”,又购买了  图书号为“t002”的顾客编号,则正确的SQL语句是(    )。

选项 A、SELECT DISTINCT p1.顾客编号FROM购书表pl JOIN购书表p2; ON pi.顾客号=p2.顾客号WIIERE p1.图书号=’t001’AND p2.图书号=’t002’
B、SELECT DISTINCT p1.顾客编号FROM购书表pl JOIN购书表p2; ON p1.图书号=p2.图书号WHERE p1.图书号=’t001’AND p2.图书号=’t002’
C、SELECT DISTINCT顾客编号FROM购书表WHERE图书号=’t001’AND图书号=’t002’
D、SELECT DISTINCT顾客编号FROM购书表WHERE图书号IN(’t001’,’t002’)

答案A

解析 SQL SELECT语句中与连接运算有关语法格式如下:
    SELECT……
    FROM<数据库表1>INNER|LEFT|RIGHT|FULL JOIN<数据库表2>
    ON<连接条件>
    WHERE……
    其中:INNER JOIN等价于JOIN,为普通连接;
    LEFT JOIN为左连接;
    RIGHT JOIN为右连接;
    FULL JOIN为全连接;
    ON<连接条件>指定两个表进行连接的条件字段。
    为了实现题目所需功能,需要对购书表进行自连接,对购书表使用别名p1和p2,ON p1.顾客号=p2.顾客号为查询指定连接条件,WHERE p1.图书号=’t001’AND p2.图书号=’t002’,用于指定购买了图书号为’t001’又购买了图书号为’t002’的顾客信息,故A选项符合题意。
转载请注明原文地址:https://jikaoti.com/ti/eDX0FFFM
0

最新回复(0)