각 국가의 공식 언어 쿼리

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 MySQL 에서 등가 조인 (equijoin) 쿼리를 사용하여 각 국가의 공식 언어를 검색하는 방법을 배우게 됩니다. 이 프로젝트는 관계형 데이터베이스 작업, 복잡한 쿼리 수행, 데이터베이스에서 특정 정보 추출 방법을 이해하는 데 도움이 될 것입니다.

👀 미리보기

+--------------------------------------+------------------+------------+
| Name                                 | Language         | IsOfficial |
+--------------------------------------+------------------+------------+
| Aruba                                | Dutch            | T          |
| Afghanistan                          | Dari             | T          |
| Afghanistan                          | Pashto           | T          |
    ...
| South Africa                         | Zulu             | T          |
| Zimbabwe                             | English          | T          |
+--------------------------------------+------------------+------------+
238 rows in set (0.002 sec)

🎯 과제

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

  • 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하는 방법
  • SQL 스크립트에서 MySQL 로 데이터를 가져오는 방법
  • 각 국가의 공식 언어를 검색하기 위한 등가 조인 (equijoin) 쿼리를 작성하는 방법
  • MySQL 콘솔에서 SQL 스크립트를 실행하는 방법

🏆 성과

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

  • 관계형 데이터베이스 및 SQL 쿼리의 기본 사항 이해
  • 여러 테이블과 조건을 포함하는 복잡한 쿼리 수행
  • 주어진 요구 사항에 따라 데이터베이스에서 특정 정보 추출
  • 실제 데이터 검색 문제 해결을 위해 SQL 지식 적용

MySQL 접속 및 데이터 가져오기

이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하고 /home/labex/project/world.sql에서 MySQL 로 데이터를 가져오는 방법을 배우게 됩니다.

  1. 터미널을 열고 다음 명령을 실행하여 MySQL 서비스를 시작합니다:
sudo service mysql start
  1. 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근합니다:
sudo mysql
  1. /home/labex/project/world.sql에서 MySQL 로 데이터를 가져오고 world 데이터베이스로 전환합니다:
SOURCE /home/labex/project/world.sql;
USE world;

각 국가의 공식 언어 검색

이 단계에서는 country 테이블과 countrylanguage 테이블 간의 등가 조인 (equijoin) 과 JOIN ON WHERE 구문을 사용하여 각 국가의 전체 이름과 공식 언어를 검색하는 방법을 배우게 됩니다.

  1. getOfficialLanguage.sql 파일을 엽니다.
  2. 다음 SQL 쿼리를 getOfficialLanguage.sql 파일에 추가합니다:
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country
JOIN countrylanguage ON country.Code = countrylanguage.CountryCode
WHERE countrylanguage.IsOfficial = 'T';

이 쿼리는 다음 열을 검색합니다:

  • Name: 국가의 전체 이름
  • Language: 국가의 공식 언어
  • IsOfficial: 언어가 해당 국가의 공식 언어인지 여부를 나타냅니다 ('T'는 참, 'F'는 거짓)

이 쿼리는 CodeCountryCode 열을 기준으로 countrycountrylanguage 테이블을 조인한 다음, 공식 언어만 포함하도록 결과를 필터링합니다 (여기서 IsOfficial'T').

쿼리 실행

이 단계에서는 이전 단계에서 생성한 SQL 스크립트를 실행합니다.

  1. getOfficialLanguage.sql 스크립트를 실행합니다:
SOURCE /home/labex/project/getOfficialLanguage.sql;

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

다음과 유사한 출력을 볼 수 있습니다:

+--------------------------------------+------------------+------------+
| Name                                 | Language         | IsOfficial |
+--------------------------------------+------------------+------------+
| Aruba                                | Dutch            | T          |
| Afghanistan                          | Dari             | T          |
| Afghanistan                          | Pashto           | T          |
| Anguilla                             | English          | T          |
| Albania                              | Albaniana        | T          |
| Andorra                              | Catalan          | T          |
| Netherlands Antilles                 | Dutch            | T          |
| Netherlands Antilles                 | Papiamento       | T          |
| United Arab Emirates                 | Arabic           | T          |
| Argentina                            | Spanish          | T          |
| Armenia                              | Armenian         | T          |
    ...
| South Africa                         | Afrikaans        | T          |
| South Africa                         | English          | T          |
| South Africa                         | Xhosa            | T          |
| South Africa                         | Zulu             | T          |
| Zimbabwe                             | English          | T          |
+--------------------------------------+------------------+------------+
238 rows in set (0.002 sec)

이것으로 프로젝트가 완료되었습니다. MySQL 에서 등가 조인 쿼리를 사용하여 각 국가의 공식 언어를 성공적으로 검색했습니다.

요약

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

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