[SQL] 왜 MySQL은 FULL OUTER에 구문 오류가 JOIN보고는 무엇입니까?
SQL왜 MySQL은 FULL OUTER에 구문 오류가 JOIN보고는 무엇입니까?
SELECT airline, airports.icao_code, continent, country, province, city, website
FROM airlines
FULL OUTER JOIN airports ON airlines.iaco_code = airports.iaco_code
FULL OUTER JOIN cities ON airports.city_id = cities.city_id
FULL OUTER JOIN provinces ON cities.province_id = provinces.province_id
FULL OUTER JOIN countries ON cities.country_id = countries.country_id
FULL OUTER JOIN continents ON countries.continent_id = continents.continent_id
그것은 말한다
구문은 바로 내 보인다. 내가 전에 조인을 많이 해본 적이 없다,하지만 난 여러 ID의에 의해 참조 크로스 테이블에서 그 열이 필요합니다.
해결법
-
==============================
1.더 FULL OUTER MySQL의에 가입하지 있습니다. 7.2.12를 참조하십시오. 외부는 단순화 및 12.2.8.1에 가입하세요. 구문 가입 :
더 FULL OUTER MySQL의에 가입하지 있습니다. 7.2.12를 참조하십시오. 외부는 단순화 및 12.2.8.1에 가입하세요. 구문 가입 :
-
==============================
2.클리 터스의 대답은 매우 옳지 않다. UNION은 FULL OUTER가 포함됩니다 가입 중복 레코드를 제거합니다. 당신은 같은 것을 사용하여 중복을해야하는 경우 :
클리 터스의 대답은 매우 옳지 않다. UNION은 FULL OUTER가 포함됩니다 가입 중복 레코드를 제거합니다. 당신은 같은 것을 사용하여 중복을해야하는 경우 :
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id LEFT JOIN t3 ON t2.id = t3.id LEFT JOIN t4 ON t3.id = t4.id UNION ALL SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id LEFT JOIN t3 ON t2.id = t3.id LEFT JOIN t4 ON t3.id = t4.id WHERE t1.id IS NULL UNION ALL SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id RIGHT JOIN t3 ON t2.id = t3.id LEFT JOIN t4 ON t3.id = t4.id WHERE t2.id IS NULL UNION ALL SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id RIGHT JOIN t3 ON t2.id = t3.id RIGHT JOIN t4 ON t3.id = t4.id WHERE t3.id IS NULL;
-
==============================
3.당신은 FULL OUTER에 필요한 세 개의 테이블 T1, T2, T3에 가입하면 그냥 사건을 보충합니다. 당신은 차례로, 왼쪽 나머지 두 테이블, 다음 조합에 가입, T1, T2, T3를 만들 수 있습니다.
당신은 FULL OUTER에 필요한 세 개의 테이블 T1, T2, T3에 가입하면 그냥 사건을 보충합니다. 당신은 차례로, 왼쪽 나머지 두 테이블, 다음 조합에 가입, T1, T2, T3를 만들 수 있습니다.
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id LEFT JOIN t3 ON t1.id = t3.id UNION SELECT * FROM t2 LEFT JOIN t1 ON t2.id = t1.id LEFT JOIN t3 ON t2.id = t3.id UNION SELECT * FROM t3 LEFT JOIN t1 ON t3.id = t1.id LEFT JOIN t2 ON t3.id = t2.id
-
==============================
4.난 그냥 이것에 대한 트릭을 만들었습니다 :
난 그냥 이것에 대한 트릭을 만들었습니다 :
(select 1 from DUAL) d LEFT OUTER JOIN t1 ON t1.id = t2.id LEFT OUTER JOIN t2 ON t1.id = t2.id
요점은 듀얼 차종에서 쿼리 수정 포인트와 MySQL 캔 외부 그에게이 개 다른 테이블을 조인입니다
from https://stackoverflow.com/questions/2384298/why-does-mysql-report-a-syntax-error-on-full-outer-join by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 준비된 문을 통해 INSERT INTO와 PDO [폐쇄] (0) | 2020.03.29 |
---|---|
[SQL] SQL 계산에서 별칭을 사용하여 (0) | 2020.03.29 |
[SQL] 그것은 PL / SQL 블록에서 SELECT 문은 출력 할 수 있습니까? (0) | 2020.03.28 |
[SQL] 웅변 / 유창한를 사용하여 단일 쿼리에서 여러 행을 삽입하는 방법 (0) | 2020.03.28 |
[SQL] C # DataTable을에 읽기 SQL 표 (0) | 2020.03.28 |