从两个不同的表中选择名称COUNT(*)作为查询结果

时间:2013-05-05 11:24:13

标签: sql oracle count

CREATE TABLE    CUSTOMER (
cusID   VARCHAR(10) NOT NULL,
cusNAME     VARCHAR(50),
CONSTRAINT CUSTOMER_PKEY PRIMARY KEY (cusID)
);

CREATE TABLE    ORDERS (
cusID       VARCHAR(10) NOT NULL,
item    VARCHAR(25),
PPRICE  NUMBER(12,2),
CONSTRAINT ORDERS_FKEY FOREIGN KEY (cusID) REFERENCES CUSTOMER(cusID)
);

我有这两个表,我想要一个

的查询结果
CUSNAME    ITEM BOUGHT
JOHN          2
MAY           5

可以这样做吗? 像select cusNAME,COUNT(*)FROM CUSTOMER,ORDERS .......等等... 不知道如何继续这个。

1 个答案:

答案 0 :(得分:1)

SELECT  cus.cusName,
        COUNT(*) AS ItemBought
FROM    Customer AS cus
        INNER JOIN Orders AS ord
            ON cus.CusID = ord.cusID
GROUP   BY cus.cusName

要进一步了解联接,请访问以下链接:

上述查询仅显示客户在表Order上至少有一条记录,因为它使用INNER JOIN。如果您想向所有客户显示其是否在表格订单上至少有一条记录,请改用LEFT JOIN