我有一个表包含空值。在 ORDER 表中,我在 PART_ID 部分中有 2 个空值,在 CUSTOMER_ID 中有 2 个空值。
我有这样的查询:
SELECT O.ORDER_ID , O.ORDER_DATE , O.CUST_ID, O.QUANTITY ,O.PART_ID ,
C.CUST_NAME, C.CUST_CODE, P.PART_NAME, P.PART_CODE
FROM [ORDER] O
LEFT OUTER JOIN PART P ON P.PART_ID = O.PART_ID
LEFT OUTER JOIN CUSTOMER C ON C.CUST_ID = O.CUST_ID
所以这是我的问题。我怎么能不使用外连接呢?我尝试了太多东西,包括 where not exists 或 this ;
SELECT *
FROM [ORDER] O ,CUSTOMER C, PART P
WHERE C.CUST_ID = (
SELECT CUST_ID FROM CUSTOMER C WHERE O.CUST_ID = C.CUST_ID
) AND P.PART_ID = (SELECT PART_ID FROM PART P WHERE O.PART_ID = P.PART_ID)
但我找不到解决方案。如果有解决方案会怎样?
(注:这是作业。)
我有那种桌子:
左外连接给出:
硬件说不使用外连接并获得与左外连接相同的表。但就像我说的那样,我不能。我也在使用 MSSQL。