소개
이 프로젝트에서는 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 로 가져오는 방법을 배우게 됩니다.
- MySQL 서비스 시작:
sudo service mysql start
- MySQL 에 접속:
sudo mysql
world.sql스크립트에서 데이터 가져오기:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;
Join 쿼리 실행
이 단계에서는 city, country, countrylanguage 테이블에서 도시 이름, 해당 국가 이름 및 언어를 검색하기 위해 동등 조인 쿼리를 실행하는 방법을 배우게 됩니다.
getCountryNameAndLanguage.sql파일을 엽니다.- 다음 코드를
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 스크립트를 실행하는 방법을 배우게 됩니다.
- 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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.
