본문 바로가기

Where3

*매우중요 oracle developer 문제풀이8. GROUP BY, HAVING, WHERE # SQL GROUP BY 문제 문제1. 도시 목록에서 지역별 인구수를 구하라. SELECT SUM(popu) AS 인구수, region AS 지역명 FROM tcity GROUP BY region ORDER BY 인구수 DESC; 문제2. 각 지역에서 가장 넓은 면적을 구하되 단 인구가 50만 이상인 도시만 대상으로 한다 # 내코드 SELECT name AS 도시이름, region AS 지역, area AS 면적, popu AS 인구수 FROM tcity WHERE popu >= 50 GROUP BY region; 실패 # 답안코드 SELECT region, MAX(area) FROM tcity WHERE popu > 50 GROUP BY region; 음... 내가 너무 복잡하게 생각했나보다. 한편으.. 2022. 9. 9.
*매우중요 oracle developer 기초3. GROUP BY, WHERE, HAVING의 효율적 코드 # GROUP BY 예시1 SELECT '영업부', AVG(salary) FROM tstaff WHERE depart = '영업부'; 우선 이것은 그룹핑이 된 쿼리는 아니다. 하지만 단순히 출력의 대상이 1개로 집약되는 이와 같은 쿼리는 또 출력이 가능하다는게 신기하다. 예시2 SELECT depart AS 부서명, ROUND(AVG(salary),2) AS 월급평균 FROM tstaff GROUP BY depart; 이전에 2개 이상을 SELECT 해서 노출하고 싶었던 기능 그대로다. 예시3 SELECT depart, COUNT(*), MAX(joindate), ROUND(AVG(score),2) FROM tstaff GROUP BY depart; 예시3에는 SELECT로 무더기로 4개의 값을 선택하였.. 2022. 9. 9.
SQL 2개이상의 값에서 1개만 값이 포함되도 True를 반환해 줄 수 있는 기능기초 SQL 패턴 SQL을 배울때, 분명 리스트에 1,2이라는 글자가 있고, 나는 True 로써 지정해준 값이 리스트 = 1이라고 하면 해당값은 FALSE가 나온다. 이유인 즉슨, 해당 리스트에는 1,2 모두가 있어야 True를 충족 하는 것이지, 둘중 하나만 있다고 충족되는 것이 아니기 때문이다. 때문에 이를 해결하기 위해서 sql where 2개 이상의 값에서 1개만 포함되도 true를 반환 라고 검색도 해봤지만 딱히 효과는 없었다. 그리고 마침 강의내용에 내가 원했던 것이 나오기에 그것을 기록해보고자 한다. 1. '_가' - 두번째 글자가 "가"인 2글자 2. '%실험' - 앞에 어떤 글자든 상관없다. 그리고 마지막은 실험으로 끝나는 글자 3. '%실험% - 앞에도, 끝나는것도 어떤게 와도 상관없다. 내.. 2022. 6. 25.