국가별 도시 이름 쿼리

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 MySQL 에서 city, country, countrylanguage 테이블에 대한 동등 조인 쿼리를 실행하는 방법을 배우게 됩니다. 목표는 도시 이름, 해당 국가 이름 및 언어를 이러한 테이블에서 검색하는 것입니다.

👀 미리보기

MariaDB [world]> SOURCE /home/labex/project/getCountryNameAndLanguage.sql;
+----------------+-------------+------------+
| CityName       | CountryName | Language   |
+----------------+-------------+------------+
| Oranjestad     | Aruba       | Dutch      |
| Oranjestad     | Aruba       | English    |
| Oranjestad     | Aruba       | Papiamento |
| Oranjestad     | Aruba       | Spanish    |
| Kabul          | Afghanistan | Balochi    |
| Qandahar       | Afghanistan | Balochi    |
| Herat          | Afghanistan | Balochi    |
| Mazar-e-Sharif | Afghanistan | Balochi    |
| Kabul          | Afghanistan | Dari       |
| Qandahar       | Afghanistan | Dari       |
+----------------+-------------+------------+
10 rows in set (0.001 sec)

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다.

  • 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 액세스하는 방법
  • world.sql 스크립트에서 MySQL 로 데이터를 가져오는 방법
  • 원하는 정보를 테이블에서 검색하기 위해 동등 조인 쿼리를 작성하는 방법
  • 쿼리 결과를 처음 10 개 행으로 제한하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다.

  • SQL 조인 (join) 의 개념과 이를 효과적으로 사용하는 방법을 이해합니다.
  • 관계형 데이터베이스에서 여러 테이블의 데이터를 검색합니다.
  • 필요에 따라 결과를 필터링하고 제한하기 위해 SQL 쿼리를 적용합니다.
  • MySQL 데이터베이스 작업에 대한 실질적인 경험을 얻습니다.

MySQL 접속 및 데이터 가져오기

이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접속하고, 제공된 world.sql 스크립트에서 데이터를 MySQL 로 가져오는 방법을 배우게 됩니다.

  1. MySQL 서비스 시작:
sudo service mysql start
  1. MySQL 에 접속:
sudo mysql
  1. world.sql 스크립트에서 데이터 가져오기:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;

Join 쿼리 실행

이 단계에서는 city, country, countrylanguage 테이블에서 도시 이름, 해당 국가 이름 및 언어를 검색하기 위해 동등 조인 쿼리를 실행하는 방법을 배우게 됩니다.

  1. getCountryNameAndLanguage.sql 파일을 엽니다.
  2. 다음 코드를 getCountryNameAndLanguage.sql 파일에 추가합니다.
SELECT ci.Name AS CityName, co.Name AS CountryName, col.Language
FROM city AS ci
JOIN country AS co ON ci.CountryCode = co.Code
JOIN countrylanguage AS col ON co.Code = col.CountryCode
LIMIT 10;

이 쿼리는 city, country, countrylanguage 테이블 간에 동등 조인 (equal join) 을 수행하고 결과를 처음 10 개 행으로 제한합니다. 쿼리 출력에는 CityName, CountryName, 및 Language 헤더가 포함됩니다.

쿼리 실행

이 단계에서는 MySQL 에서 getCountryNameAndLanguage.sql 스크립트를 실행하는 방법을 배우게 됩니다.

  1. MySQL 프롬프트에서 다음 명령을 실행하여 스크립트를 실행합니다.
MariaDB [world]> SOURCE /home/labex/project/getCountryNameAndLanguage.sql;

이렇게 하면 쿼리가 실행되고 결과가 MySQL 프롬프트에 표시됩니다.

출력은 다음과 유사해야 합니다.

+----------------+-------------+------------+
| CityName       | CountryName | Language   |
+----------------+-------------+------------+
| Oranjestad     | Aruba       | Dutch      |
| Oranjestad     | Aruba       | English    |
| Oranjestad     | Aruba       | Papiamento |
| Oranjestad     | Aruba       | Spanish    |
| Kabul          | Afghanistan | Balochi    |
| Qandahar       | Afghanistan | Balochi    |
| Herat          | Afghanistan | Balochi    |
| Mazar-e-Sharif | Afghanistan | Balochi    |
| Kabul          | Afghanistan | Dari       |
| Qandahar       | Afghanistan | Dari       |
+----------------+-------------+------------+
10 rows in set (0.001 sec)

축하합니다! 프로젝트를 성공적으로 완료했습니다.

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습