Mysql SQL连接多表查询
嗨,我有以下两个问题和我的尝试。请给我一些建议 SQL数据库:Mysql SQL连接多表查询,mysql,database,join,Mysql,Database,Join,嗨,我有以下两个问题和我的尝试。请给我一些建议 SQL数据库: CUSTOMER表:CUST\u ID,CUST\u NAME 产品表:产品标识,产品说明 CUSTOMER\u PRODUCTS表:CUST\u ID和PROD\u ID 此数据库用于跟踪客户拥有的产品,因此customer\u products为客户拥有的每个产品都有一个条目 我想: A: 编写一个SQL查询,该查询将返回不拥有任何产品的所有客户的列表 以下是我的尝试: SELECT CUSTOMER _PRODUCTS.CUS
CUSTOMER
表:CUST\u ID
,CUST\u NAME
产品
表:产品标识
,产品说明
CUSTOMER\u PRODUCTS
表:CUST\u ID
和PROD\u ID
此数据库用于跟踪客户拥有的产品,因此customer\u products
为客户拥有的每个产品都有一个条目
我想:
A:
编写一个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;
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';
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;
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,您可能需要使用
左连接
,并且为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;
对于B,请单独提问,因为它是独立的。对于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<P>他们中的任何一个都不应该做两个问题= 2个问题请考虑投票赞成的问题感谢人们对你的问题投资的时间和努力抱歉我的第一个答案在“%SAW %”的开头和结尾加上百分数的符号。