sql

sqlzoo - SELECT from World

yjs3819 2021. 7. 15. 18:35
728x90

SQL

  1. SELECT name, continent, population FROM world
  2. SELECT name FROM world WHERE population >= 200000000;
  3. select name, gdp / population from world where population >= 200000000;

    per capita GDP : gdp / populationn

  4. select name, population / 1000000 from world where continent = 'South America';
  5. select name, population from world where name in ('France', 'Germany', 'Italy');

    where 조건절 내에 IN 연산자로, 해당 소괄호 내의 이름인 레코드의 필드값을 조회

  6. select name from world where name like '%United%';

    where조건절의 like를 통해 문자자열 내 United가 존재하는지 여부를 확인, 찾고자하는 부분 문자열 United위치가 상관없으면 '%United%' 앞뒤에 %를 붙인다.

  7. select name, population, area from world where area >= 3000000 OR population >= 250000000;
  8. select name, population, area from world
    where (area >= 3000000 AND population < 250000000) OR
         (area < 3000000 AND population >= 250000000);

    XOR로 두 조건중 하나만 만족하는 경우를 조회하는 문제임

  9. select name, ROUND(population / 1000000, 2), ROUND(gdp / 1000000000, 2) from world 
    where continent = 'South America';

    ROUND 함수는 반올림을 해주는 함수이다. ROUND(값 / 반올림 결과 보일 자리)로 할수있다.

  10. select name, ROUND(gdp / population, -3) from world where gdp >= 1000000000000;

    ROUND함수로 반올림을 하는데 이전문제와 다른 점은 소수부분에서 반올림하는게 아닌 정수부분에서 반올림을 하는 것이다.

  11. select name, capital from world
    where LENGTH(name) = LENGTH(capital);

    LENGTH 함수는 문자열의 길이를 반환한다.

  12. select name, capital from world
    where LEFT(name, 1) = LEFT(capital, 1) AND
        name <> capital;

    LEFT함수를 이용하면 문자열의 부분 문자열을 구할수있다. 맨왼쪽 문자부터 두번째 인자의 문자까지의 문자열을 추출할수있다.

  13. select name from world
    where name like '%a%' AND name like '%e%' AND name like '%i%' And name like '%o%' AND name like '%u%' AND name NOT like '% %';

    like를 이용해서 공백이 없는 문자열과, a e i o u를 포함하는 문자열을 찾았다.

    quiz

    1. 5
    2. 4
    3. 2
    4. 4 (주어진 world 테이블과 비교하며 봐야함)
    5. 2
    6. 4 (두 row를 반환하므로 IN)
    7. 3
728x90

'sql' 카테고리의 다른 글

sqlzoo - SUM and COUNT  (0) 2021.07.23
sqlzoo - SELECT in SELECT  (0) 2021.07.17
sqlzoo - SELECT from nobel  (0) 2021.07.16
sqlzoo - SELECT basics  (0) 2021.07.14