본문 바로가기

전체 글49

[SQLD] 이론 - Group by 없어도 Having 쓰는 경우? 질문 : Group by + Having은 짝꿍으로 반드시 함께 써야 한다? 정답 : 아니다. Having은 단독으로 사용 할 수 있다 (언제 : 테이블 전체가 Group by처럼 묶여 있을 때) Item Stock A 10 B 20 C 80 D 300 Stock 값이 100이 넘는 경우에만, 모든 Stock의 총합을 구하고 싶다. 만약 Stock 중 값이 100이 넘는 것이 없는 경우에는 총합을 구하지 않겠다. Select sum (stock) from table where max (stock) > 100 ◀ 오류 발생 (답: 300) having max(stock) > 100 ◀ 정답 (답 : 410) 질문 : Group by (직무) + Having count(*) >1 , 무슨 뜻? 답: 직무 별.. 2024. 2. 20.
[SQLD] 이론 - Count 함수 NULL 포함여부 질문 : count 함수 사용 시, 언제 Null을 포함하고, 언제는 제외할까? 정답: count (*) 의 경우는 Null 포함 Count(컬럼)인 경우는 Null 비포함 참고: SQLD 기본서 Q51 Grade No 사원 500 대리 100 과장 30 차장 10 부장 5 Null 25 ① Select count(grade) from emp ; 답: 645 (Null 제외) ② Select grade from emp where grade in ('차장','부장','널') ; ③ Select grade,count(*) from emp group by grade ; 답 : 6 (Null 포함) 그룹함수 (일반) : [SQL입문] 11. 그룹함수_(일반)COUNT, MAX [학습목표] 1. 그룹 함수 (Ag.. 2024. 2. 19.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - Top Earner(Subquery) Q. Top Earner ㄴ사원 중 가장 높은 연봉은 얼마이며 , 그 연봉을 받는 사람은 몇 명인가? Answer : Oracle (Subquery + Count함수 사용) Step 1: 가장 높은 연봉 찾기 Step 2 : 가장 높은 연봉을 받는 사람 수 찾기 Step 3 : 서브쿼리로 합치기 더보기 select max(salary*months), count (*) from Employee where (salary*months) = (select max (salary*months) ◀ 서브쿼리에서는 반드시 "주어"가 같을 것 from employee ) ; 2024. 2. 8.
[SQL입문] 19. 서브쿼리_ Select절 컬럼 추가(&별칭) [SELECT절 서브쿼리] 1. Rownum 함수 2. From 절 서브쿼리 - Inline View (+테이블 뷰 추가) ▶ Top-N 쿼리 3. Select/ Order by절 서브쿼리 - Scalar Subquery (+ 행 1개) 4. Select / Where 절 - 상호연관 서브쿼리 *** 5. Exist 함수 ※ 서브쿼리 적용 가능 절: SELECT 절 - FROM 절 - WHERE 절 - HAVING 절 - ORDER BY 절 - INSERT문의 VALUES 절 - UPDATE문의 SET 절 ※ 서브쿼리에서는 ORDER BY를 사용하지 못한다. 위치 서브쿼리 이름 특징 Select 절 + 서브쿼리 / Order by + 서브쿼 스칼라 서브쿼리 (Scalar Subquery 서브쿼리 결과가 .. 2024. 2. 8.
[SQL 입문] 18.서브쿼리_단일 & 다중 1. 서브쿼리란? -. 서브쿼리 : (1단계 : inner /sub 쿼리) + (2단계 : outer / main 쿼리)를 묶어서 한 번에 조회하는 것 ㄴ 단일 행 서브쿼리 : 1단계에서 답은 1개 ◀ = > // < 사용 불가) -. 서브쿼리는 괄호로 묶어야 함! -. 일반적인 서브쿼리는 Order by절을 사용하지 않음! -. Where 절에 서브쿼리 사용 시 : 내가 지정한 칼럼명 2번 나옴! 2. 서브쿼리 사용가능 위치 -. Select + 칼럼 O -. From + 테이블 O -. Where + 특정값 조건비교 O -. Group by 서브쿼리 사용 불가! X -. Having + 특정값 조건 비교 (where과 .. 2024. 2. 8.
[SQL 입문] 17.집합 연산자 - INTERSECT,UNOIN,MINUS [집합 연산자] -. emp.deptno vs dept.deptno 2개의 다른 테이블의 중복값을 비교할 때 사용 -. 눈으로 중복값 찾기 어려울 때 사용 [사용 조건] -. 두 집합의 select 절 칼럼 수 동일할 때 사용 -. 두 집합의 칼럼명이 상이해도 사용가능 -. 두 집합의 결합 시, 칼럼명 기준이 아닌 칼럼 순서를 기준으로 결합됨 select deptno from dept ◀ 테이블1 중복값 intersect select deptno from emp ; ◀ 테이블2 중복값 select deptno from dept minus select deptno from emp ; select deptno from dept union select deptno from emp ; * Union 중복값 제거.. 2024. 2. 7.
[SQL 입문] 16.ANSI SQL - JOIN 조건 1. ANSI SQL이란 -. ANSI SQL : 미국 국립 표준 협회 (American National Standard institute, ANSI)에서 제공한 보편적인 문법 -. 문법 형식만 다를 뿐, 속도에 대한 부분은 차이 없음 -. 종류 : Inner join on , left/right join on , full outer join on 이 있다 차이점 Oracle 조인 조건 ANSI SQL 조인 조건 구별점 From 절 From 테이블 (쉼표) 테이블 From 테이블 (JOIN 조건) 테이블 (On / Using) 병합 조건 ◀From 절 쉼표 유무 ◀ From 절 Join 유무 2. Oracle Join vs Ansi Join 비교 정리 Oracle 조인 조건 Ansi SQL 조인 조건 카.. 2024. 2. 7.
[SQL 입문] 15. 일반 JOIN 조건 [학습 목표] 1. 일반 Join 조건 활용 ◀ Join 문구가 없음! Where 절에서 중복값 지정 2. 카다시안 곱 문제 발생 조건 3. 테이블 별칭 설정 4. 중복값이 없을 경우 / 범위 검색을 이용한 조인 처리 1. 일반 Join 조건 Join은 여러 테이블의 데이터가 필요한 경우 사용 일반적으로 PK - FK간 상호 연결 Table 개수 - 1 = Join 조건 개수 Where 절 조인 조건(길안내) 작성 From A, B Where A.a = B.b Where A.a = B.b and A.a > 12000 2. 카다시안 곱 (무작위 연결) 3. 테이블 별칭 지정 From 절에서는 테이블 명 (한 칸 띄고) 테이블 별칭 順 From player p , team t 그 외 모두 테이블 별칭 (쩜).. 2024. 2. 6.
[후기] 해커랭크 Hackerrank SQL (Basic) Certificate 취득 ! 해커랭크(Hacckerrank)는 SQL 초심자들이 여러 쿼리 실습을 하기 좋은 (무료) 사이트이다. 연습문제만 해도 량이 굉장히 많기에, 일상에서 쿼리문을 작성할 기회가 없는 사람들에게 추천한다. 또, 각 레벨마다 시험과 Certificate를 취득해 Linkedin 등 사이트에 올릴 수 있다는 장점이 있다. [HackerRank 사이트 정보] -. 미국의 무료 온라인 컴퓨터 프로그래밍 연습용 사이트 -. SQL, Python, Problem Solving, Jav, C++ 등 문제 및 풀이 제공 -. 나는 SQL 독학 중이므로, 교과서 외 문제풀이는 해당사이트를 통해 학습 [HackerRank 1달 사용 후기] -. 장점 : (1) MySQL, Oracle, DB2 등 여러 가지 Software 중 .. 2024. 2. 6.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - 거리 계산법 맨해튼 거리 (Manhattan Distance) 1차원 위치 정보를 활용한 거리 계산법 두 데이터 간 절댓값(Absolute value)의 거리 절댓값으로 계산하기 때문에 min-max / max-min을 하던 같은 양수가 나옴 맨해튼 거리 = | max X - min X | + | max Y- min Y | * 절댓값 = ABS Question : Weather Observation Station 19 Query the Manhattan Distance between points and and round it to a scale of decimal places. Answer : SELECT ROUND(ABS( max(lat_n) - min(lat_n) ) + ABS( max(long_w) - min(.. 2024. 2. 2.