해커랭크 SQL문제_0805
Revising Aggregations-The Count Function 문제: Query a count of the number of cities in CITY having a Population larger than 100,000. 풀이: population 100,000명을 초과하는 CITY의 도시 수를 카운팅하는 문제이다. SELECT COUNT(ID) FROM CITY WHERE POPULATION > 100000; Revising Aggregations-The Sum Function 문제: Query the total population of all cities in CITY where District is California. 풀이: district가 California인 CITY의 모든 도..
2021.08.05
해커랭크 SQL문제_0804
Employee Names 문제: Write a query that prints a list of employee names (i.e.: the name attribute) from the Employee table in alphabetical order. 풀이: 직원 테이블에서 직원의 이름을 오름차순으로 정렬해서 출력하면 문제 해결 완료. ORDER BY절에서 default가 ASC 정렬이지만 굳이 안적어줘도 되지만 그래도 적어주는게 더 직관적으로 잘 보이는 것 같다ㅎㅎ SELECT NAME FROM EMPLOYEE ORDER BY NAME ASC; Employee Salaries 문제: Write a query that prints a list of employee names (i.e.: the na..
2021.08.04
해커랭크 SQL문제_0803
Weather Observation Station15 문제: Query the Western Longitude (LONG_W) for the largest Northern Latitude (LAT_N) in STATION that is less than 137.2345. Round your answer to 4 decimal places. 풀이: 137.2345보다 작은 가장 큰 LAT_N에 대해 LONG_W를 찾는 문제였다. 또 하나의 주어진 조건으로는 소수점 4자리에서 반올림하는 것. 처음에는 서브 쿼리가 아닌 ORDER BY 절에 ROWNUM으로 해서 하나의 쿼리로 해결하는 방법을 생각했었는데 실패했다.. 왜지..왜지..하다가 ORDER BY절에 ROWNUM 사용 시 순번이 뒤섞인다고 서브 쿼리로 ..
2021.08.03
해커랭크 SQL문제_0802
Weather Observation Station12 문제: Query the list of CITY names from STATION that do not start with vowels and do not end with vowels. Your result cannot contain duplicates. 풀이: CITY 중에서 모음으로 시작하지 않고 모음으로 끝나지 않는 것들을 중복을 제거해서 출력하는 문제이다. 이 문제 역시 MySQL 정규식으로 해결할 수 있었고, 앞선 11번 문제에서 OR을 AND로만 바꾸면 해결이 가능한 문제였다. SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '^[^aeiou]' AND CITY REGEXP '[^aeiou]$';..
2021.08.02
코딩테스트 연습_0729
프로그래머스 SQL 고득점 KIT 풀어보기_3(SQL 고득점 KIT관련 마지막 포스팅) JOIN > 있었는데요 없었습니다 문제: 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. ANIMAL_INS ANIMAL_OUTS 풀이: 우선 두 테이블을 A, B로 간략화해주고 INNER JOIN으로 아이디 같은것들 먼저 뽑아주기. SELECT문에는 두 테이블이 공통으로 ID와 NAME이 있으니깐 A꺼 써줄지 B꺼 써줄지 지정하기. 보호 시작일보다 입양일이 더 빠른 동물을 찾아야 하니깐 DATETIME 비교해서 입양 들어온 날짜가 더 뒤에인거 찾아주기. SELE..
2021.07.29
코딩테스트 연습_0728
프로그래머스 SQL 고득점 KIT 풀어보기_2 GROUP BY > 동명 동물 수 찾기 문제: 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. 풀이: 이름 없는 동물은 집계에서 제외해야 하므로 WHERE절에 IS NOT NULL조건 걸어주기. 횟수 구해야하니까 COUNT함수 써주고 이름 순 조회라 ORDER BY는 NAME으로. GROUP BY절에 이름으로 묶어주고 두 번 이상 쓰인거니깐 HAVING절에 카운트가 1보다 클 때로. 이번 문제 같은 경우는 MySQL로 풀어보았다ㅎㅎ SELECT NAME, COUNT(NAME) AS 'COUNT' FROM..
2021.07.28
코딩테스트 연습_0723
프로그래머스 SQL 고득점 KIT 풀어보기! SELECT > 여러 기준으로 정렬하기 문제: 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. 풀이: 아이디, 이름, 보호 시작일을 조회하기 위해 SELECT 시 해당 컬럼 적어주었다. ORDER BY절로 이름순 먼저 그 다음보호 나중에 시작한 동물 먼저 출력이니 DATETIME DESC 처리해주었다. SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC; SUM, MAX, MIN > 중복 제거하기 문제: 동물 보호소에 들어..
2021.07.23
해커랭크 SQL문제_0722
Weather Observation Station9 문제: Query the list of CITY names from STATION that do not start with vowels. Your result cannot contain duplicates. 풀이: CITY 중에서 모음으로 시작하지 않는 것들을 중복을 제거해서 출력하는 문제이다. 이 문제 역시 MySQL 정규식으로 해결할 수 있었고, 모음으로 시작하지 않는 문자열을 찾기 위해 [^문자] 의 형태로 정규식 처리해주면 해결할 수 있다. SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '^[^aeiou]'; Weather Observation Station10 문제: Query the list of..
2021.07.22
해커랭크 SQL문제_0721
Weather Observation Station7 문제: Query the list of CITY names ending with vowels (a, e, i, o, u) from STATION. Your result cannot contain duplicates. 풀이: "Weather Observation Station6" 문제를 풀었다면 1~2분 내로 바로 해결이 가능한 문제이다. 모음으로 끝나는 CITY를 출력하는 것이라 LIKE 연산자 부분만 LIKE '%a' 이런 식으로 수정해 주면 된다. Weather Observation Station8 문제: Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, an..
2021.07.21