2016-01-23 129 views
-1

嗨,我有以下2個問題和我的企圖。請給我一些建議。SQL加入多個表查詢

SQL數據庫

CUSTOMER表:CUST_IDCUST_NAME ...

PRODUCT表:PROD_IDPROD_DESCRIPTION,...

CUSTOMER_PRODUCTS表:CUST_IDPROD_ID

此數據庫用於跟蹤客戶擁有的產品,因此CUSTOMER_PRODUCTS有一個客戶擁有的每個產品的條目。

我想:

答:

編寫的SQL查詢將返回誰不擁有任何產品所有客戶的列表。

這裏是我的嘗試:

SELECT CUSTOMER _PRODUCTS.CUST_ID, CUSTOMER.CUST_ID, CUSTOMER.CUST_NAME 
FROM CUSTOMER 
INNER JOIN CUSTOMER_PRODUCTS 
ON CUSTOMER_PRODUCTS.CUST_ID != CUSTOMER.CUST_ID; 

B:

編寫的SQL查詢將返回誰擁有的名稱中「SAW」產品的所有客戶的列表。

這裏是我的嘗試:

SELECT CUSTOMER _PRODUCTS.CUST_ID, CUSTOMER.CUST_ID, CUSTOMER.CUST_NAME 
FROM CUSTOMER 
INNER JOIN CUSTOMER_PRODUCTS 
ON CUSTOMER_PRODUCTS.CUST_ID = CUSTOMER.CUST_ID and WHERE PROD_DESCRIPTION LIKE 'SAW'; 

你們有什麼覺得?我是否朝着正確的方向前進?

+2

他們都應該工作 – mmuzahid

+0

2個問題= 2點的問題請 – Dave

+0

功課奉送? – Andrew

回答

0

對B

SELECT CUSTOMER _PRODUCTS.CUST_ID, CUSTOMER.CUST_ID, CUSTOMER.CUST_NAME 
FROM CUSTOMER 
    INNER JOIN CUSTOMER_PRODUCTS ON CUSTOMER_PRODUCTS.CUST_ID = CUSTOMER.CUST_ID 
and WHERE PROD_DESCRIPTION LIKE '%SAW%'; 

其他人打我A部分

+0

對不起,我的第一個答案是在詞'%saw%'的開頭和結尾添加了百分號。 – hoopsta33

0

對於一個,您可能需要使用LEFT JOINIS NULL

SELECT  CUSTOMER.CUST_NAME 
FROM  CUSTOMER 
LEFT JOIN CUSTOMER_PRODUCTS ON CUSTOMER.CUST_ID = CUSTOMER_PRODUCTS.CUST_ID 
WHERE  CUSTOMER_PRODUCTS.CUST_ID IS NULL; 

,皮斯問另外一個問題,因爲它是獨立的。