본문 바로가기

Database16

[Oracle]Population Census(풀이 성공) 문제 두 스키마 CITY와 COUNTRY가 주어진다. column CONTINENT 'Asia'에 속하는 모든 도시의 인구 총합을 출력하라. 단, CITY.COUNTRYCODE와 COUNTRY.CODE는 서로 매칭된다. 내 코드: select sum(c.POPULATION) from CITY c left join COUNTRY con on c.COUNTRYCODE=con.CODE where CONTINENT='Asia'; Comment: 간단한 join으로 풀 수 있는 문제이다. left join의 기준을 CITY로 하느냐, COUNTRY로 하느냐를 고민할 수 있는데 '도시' 인구수의 총합을 구하는 문제이므로 기준은 CITY가 되어야 한다. 또한 select 뒤의 population에 CITY 혹은 CI.. 2021. 4. 1.
[Oracle]Weather Observation Station 6(풀이 성공) 문제 아래와 같은 column을 가진 스키마 STATION이 주어진다. CITY에서 모음(a,e,i,o,u)으로 시작하는 모든 이름을 찾아 출력하라. 단, 중복은 허용하지 않는다. 내 코드: SELECT DISTINCT CITY FROM STATION WHERE (CITY LIKE 'A%' OR CITY LIKE 'E%' OR CITY LIKE 'I%' OR CITY LIKE 'O%' OR CITY LIKE 'U%'); Comment: 중복을 허용하지 않으므로 select 뒤에 distinct를 넣어주고, like 문법을 이용해 모음으로 시작된다는 조건('시작하는 알파벳+%')을 정의할 수 있습니다. 어떤 모음이든 가장 앞에만 오면 되므로 or로 연결합니다. 2021. 3. 29.
[Oracle/HackerRank]Weather Observation Station 5(풀이 성공) 문제 각국의 도시에 대한 데이터를 담은 STATION 스키마가 있다. STATION의 각 칼럼별 정보는 다음과 같다. CITY에서 가장 짧은 이름을 가진 데이터와 가장 긴 이름을 가진 데이터에 접근하라. 만약 조건에 해당하는 데이터가 하나 이상일 경우, 알파벳 순으로 가장 먼저 위치한 데이터를 선택한다. Sample Input : For example, CITY has four entries: DEF, ABC, PQRS and WXY. Sample Output : ABC 3 PQRS 4 내 코드: SELECT CITY, LENGTH(CITY) FROM (SELECT CITY, LENGTH(CITY) FROM STATION WHERE LENGTH(CITY)=(SELECT MIN(LENGTH(CITY)) A.. 2021. 3. 26.
[Oracle] BIN$....==$0 형식의 테이블 완전히 삭제하기 SQL Plus에서 새롭게 실습할 때면 이전에 있던 테이블들을 모두 삭제하곤 합니다. 예제들에 있는 테이블을 여러 개 생성하다 보면 테이블이 많아져 번거롭기도 하고, 그 편이 더 깔끔하고 작업하기도 좋기 때문입니다. SELECT*FROM TAB; --로그인한 계정에 존재하는 모든 테이블 확인 DROP TABLE '테이블 이름'; --특정 테이블을 삭제 그러나 이제 잘 삭제됐겠지? 하고 다시 SELECT*FROM TAB;을 써봤더니 종종 이상한 경우가 발생합니다. 저는 먼젓번 실습에서 사용했던 테이블 3개를 모두 삭제했었습니다. 분명 삭제한 테이블들의 이름은 사라졌는데, 저 테이블들은 어디서 온 것일까요? 잘 보면 하나같이 'BIN$~'로 시작해 '==$0'으로 끝나는 형식이라는 것을 알 수 있습니다. 저.. 2021. 1. 28.