HackerRank; Revising The Select Query

랜디 Randy·2023년 10월 24일
0

SQL 문제풀이

목록 보기
1/20

ADsP 자격증 시험을 쳤고,
SQLD 자격증 시험도 신청을 해둔 상태입니다.

그래서 SQLD 자격증 공부도 할겸, 실제로 SQL 사용도 할 줄 아는게 좋을 것 같아서 배워볼려고 합니다.

강의를 들으면서 학습할까 싶었으나!

  1. 이론적인 부분은 SQLD 시험 공부로 학습할 수 있다는 점
  2. 무료로 학습하고 싶다는 점

으로 인해 강의는 결제하거나 유튜브 강의를 듣진 않을 것 같고,
문제풀이 사이트에서 문제를 풀면서 구글링해보며 학습하는 방법을 선택했습니다.

SQL 구문이나 문법에 대해 거의 아무것도 모르기때문에 천천히 찾아보며 문제를 풀어보도록 하겠습니다


Revising The Select Query I

해커랭크 에 접속해서 문제를 풀었습니다.

-- 정답코드
SELECT * FROM CITY
WHERE POPULATION > 100000 AND CountryCode = 'USA';
--

CITY라는 table에서 POPULATION이 100,000 이상이면서
CountryCode가 USA인 모든 column을 출력하라는 문제입니다.

* 표시는 모든 column을 뜻합니다. 이를 SELECT했으니 모든 column을 선택하겠단 의미인데
FROM은 어떤 테이블을 표시할지 정하는 문법입니다.
CITY의 열들을 표시해야 하니 FROM CITY로 작성하게 되고,

별다른 조건이 없다면 이걸로 문제가 끝나겠지만,
POPULATION이 100,000 이상이고 CountryCode가 USA인 CITY가 필요하다고 합니다. 그렇다면 조건문을 걸어주어야 한다는 소리인데

sql에서 조건문은 WHERE이라는 문법으로 걸어주나봅니다.
여러 조건을 걸 때는 AND를 사용해서 하나씩 추가합니다.


Revising The Select Query II

-- 정답코드
SELECT NAME FROM CITY
WHERE POPULATION > 120000 AND COUNTRYCODE = 'USA';
--

위의 1번 문제에서 달라진 것이라고는

  1. 선택된 열의 모든 정보를 선택하는 것이 아니라 NAME만 선택하는 것
  2. 인구가 120000 이라는 것

이 두 가지입니다.

코드상으로 달라진 부분도 이 부분을 제외하면 1번 문제와 다른 것은 없습니다.


Select All

-- 정답코드
SELECT * FROM CITY;

이번에는 위의 문제보다 더 쉽습니다. CITY에 있는 모든 column을 선택하라고 했으니, 어떠한 조건문 없이 위의 코드로 마무리하면 됩니다.


Select By ID

-- 정답코드
SELECT * FROM CITY
WHERE ID = 1661;
--

CITY에서 ID가 1661인 column만 선택하면 되므로
WHERE을 활용한 조건문으로 마무리합니다.


Japanese Cities' Attributes

COUNTRYDCODE가 JPN인 column만 선택하면 됩니다.
WHERE을 활용한 조건문으로 마무리합니다.


후기

5문제를 빠르게 풀어봤습니다.
제일 첫 번째 문제에서 기본적인 문법에 대해 살펴본 이후로는
나머지 네 문제는 응용이랄것도 없이 바로바로 풀 수 있었습니다.

다음 다섯 문제는 다른 문법이 나와서 더 활용할만한 것들이 있었으면 좋겠습니다.

profile
데이터는 계단, 직관은 다리

0개의 댓글