P****e 发帖数: 385 | 1 两个table如下
Table: NAMES
NI_NUMBER: varchar(20)
FULL_NAME: varchar(50)
Table: PHONE
NI_NUMBER: varchar(20)
TELEPHONE: varchar(50)
要找到所有没有电话号码的人:
这个办法是没问题的:
SELECT FULL_NAME FROM NAMES
WHERE NI_NUMBER NOT IN
(SELECT DISTINCT NI_NUMBERS FROM PHONE)
可是下面两个query,一个用minus,一个用outer join为什么不能work呢?应该怎么写?
SELECT FULL_NAME FROM NAMES
WHERE NI_NUMBER IN
(SELECT NI_NUMBER FROM NAMES
MINUS
SELCT DISTINCT NI_NUMBER FROM PHONE)
SELECT FULL_NAME FROM
(SELECT A1.FULL_NAME, A2.TELEPHONE
FROM NAMES A1, PHONE A2
WHE | aw 发帖数: 127 | 2 for outer join one, move + to the other side.
?
【在 P****e 的大作中提到】 : 两个table如下 : Table: NAMES : NI_NUMBER: varchar(20) : FULL_NAME: varchar(50) : Table: PHONE : NI_NUMBER: varchar(20) : TELEPHONE: varchar(50) : 要找到所有没有电话号码的人: : 这个办法是没问题的: : SELECT FULL_NAME FROM NAMES
| k*******d 发帖数: 237 | 3 SELECT A1.FULL_NAME
FROM NAMES A1, PHONE A2
WHERE A1.NI_NUMBER (+) = A2.NI_NUMBER AND A2.TELEPHONE IS NULL
写
【在 aw 的大作中提到】 : for outer join one, move + to the other side. : : ?
|
|