해당 쿼리를 작성하는 또 다른 방법이 ... 일반적으로 CROSS JOIN
의에서
SELECT DISTINCT
T.name
FROM
instructor AS T
CROSS JOIN
instructor AS S
WHERE
T.salary > S.salary
나쁜 생각입니다이다. 그리고 여기서 그들은 정말로 나쁜 생각입니다. 100 명의 강사가있는 경우 4950 개의 다른 조합을 평가하여 99 명의 강사로 구성된 고유 한 목록을 얻습니다.
- Instructor001이 지급됩니다 99 명 강사가 덜
- Instructor002이 지급됩니다 98 명 강사를 덜
있다 - ...
- 합계 4950 개 조합
경우 - Instructor100 덜
을 지불 00 강사가 1000 명의 강사가 499500 개의 조합을 평가하여 999 명의 강사로 구성된 고유 한 목록을 얻습니다.
더 좋은 아이디어가 될 것 ...
SELECT
i.Name
FROM
instructor i
WHERE
i.salary > (SELECT MIN(salary) FROM instructor)
또는 ...
SELECT
i.Name
FROM
instructor i
WHERE
i.Name <> (SELECT Name FROM instructor ORDER BY Salary ASC LIMIT 1)
또는 ... 그래서
SELECT
i.*
FROM
instructor i
EXCEPT
SELECT
i.*
FROM
instructor i
ORDER BY
Salary ASC
LIMIT 1
, 당신은, 그것은 옳지 않아있어 필요한 경우 (또는 좋은 아이디어) 이렇게하면됩니다.
크로스 조인입니다. 설명을 위해 첨부 된 링크를 참조하십시오. http://stackoverflow.com/questions/3538225/how-does-select-from-two-tables-separated-by-a-comma-work-select- from-t1-t2 –