⊗pyPmDOGD 123 of 129 menu

Python에서 관련 테이블로부터 데이터 가져오기

사용자와 그들의 도시 정보를 모두 가져오는 쿼리를 만들어 봅시다. 이를 위해서는 LEFT JOIN 명령어가 필요합니다:

이 명령어의 구문은 다음과 같습니다:

SELECT 필드들 FROM 테이블_이름 LEFT JOIN 관련_테이블_이름 ON 연결_조건 WHERE 선택_조건

이 명령어 구문의 각 부분을 살펴보겠습니다.

필드

여러 테이블에서 선택을 하기 때문에, *를 통한 모든 필드 선택은 작동하지 않습니다. 다음 쿼리는 주요 테이블의 필드만 선택하고, 관련 테이블의 필드는 선택하지 않습니다:

SELECT *

모든 테이블로부터 데이터를 선택하려면, * 앞에 선택할 테이블 이름을 지정해야 합니다:

SELECT users.*, cities.*

또는 테이블 이름을 앞에 붙여 필요한 필드들을 나열할 수 있습니다:

SELECT users.name, cities.name

이 두 가지 방법에는 문제가 있습니다. 만약 테이블들의 필드 이름이 동일하다면, Python 배열 내에서 이름 충돌이 발생하여 하나의 필드만 남고 두 번째 필드는 사라집니다.

이 문제를 해결하기 위해 충돌하는 이름들은 as 명령어를 통해 이름을 바꿔야 합니다:

SELECT users.name, cities.name as city_name

연결

ON 명령어 뒤에는 두 테이블을 연결하는 데 사용되는 필드들을 지정해야 합니다. 우리의 경우에는 도시 테이블의 id 필드와 사용자 테이블의 city_id 필드가 될 것입니다:

ON cities.id=users.city_id

쿼리

결과적으로, 사용자와 그들의 도시 정보를 함께 가져오는 쿼리는 다음과 같이 될 것입니다:

SELECT users.name, cities.name as city_name FROM users LEFT JOIN cities ON cities.id=users.city_id

실습 문제

상품 테이블과 그 카테고리 테이블이 있다고 가정합니다. 상품 이름과 그 카테고리를 함께 가져오는 쿼리를 작성하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부