본문 바로가기
반응형

SQL/Oracle91

오라클 CASE WHEN 사용법 & 예제 CASE WHEN 은 SEELCT CASE WHEN 컬럼명 = 조건 THEN 조건이_맞을_시_값 WHEN 컬럼명 = 조건2 THEN 조건이_맞을_시_값 ELSE '조건이 맞지 않을 시 값' END AS 명명할_컬럼명 FROM 테이블 이런 식으로 사용하는데 예제를 통해 보자면 CASEWHENTB 테이블을 만들고 A,B,C,D 값을 넣은 뒤 CASE WHEN을 사용해서 A,B,C 일 경우 A,B,C입니다 A,B,C가 아닐 경우 A,B,C가 아닙니다가 나오게 해 놓았는데 CASE WHEN 부분에서 맞으면 THEN 부분의 값으로 출력되지만 맞는 경우가 없을 경우에는 ELSE의 값으로 출력된다 즉 CASE WHEN을 정리해 보자면 조건에 맞을 경우에는 THEN으로 그렇지 않을 경우에는 ELSE로 나오게 된다 여기.. 2019. 12. 17.
SQL CRUD(Create, Read, Update, Delete) 중에 뭐가 제일 어려워요? 면접 시 면접관이 하는 질문중에 특정 DB의 CRUD 혹은 create, select, update, delete 중에 뭐가 가장 어렵나요? 이런 질문이 종종 나오는데 잠시 생각에 잠겨서 create는 작성 시에 각종 제약조건을 붙일 수 있으니 어렵지.. update나 delete는 where 설정을 조금만 잘못해도 데이터를 왕창 update, delete 하게 되어서 힘들지.. 기타등등 이유가 있으므로 create, update, delete 역시 어렵긴 하지만 정답은 select가 가장 어렵다 학원 혹은 집에서 사용 시 select * from 테이블 이런 식으로 많이 사용을 하다보니 select는 난이도가 낮지 않나.. 이런 생각을 하게 되는데 create는 한번 생성해 놓으면 끝이고 update나.. 2019. 12. 12.
오라클 JOIN 예제 및 사용방법 먼저 조인(JOIN)이란 두 테이블의 결과를 합쳐주는 것을 말한다 위 스크린샷을 보면 TB1과 TB2를 만들고 값을 넣어줬는데 JOIN을 통해 원하는 조건으로 각 테이블을 합친 결과를 가져올 수 있다는 얘기다 JOIN의 종류는 INNER JOIN, OUTER JOIN이 있는데 예제를 보고 차례대로 알아보자 먼저 INNER JOIN인데 SELECT * FROM TB1 A, TB2 B 이후 WHERE 절에서 조건을 만드는데 A.NAME = B.NAME으로 설정하면 TB1 테이블의 NAME과 TB2 테이블의 NAME이 같은 행만 가져오게 되는데 TB1과 TB2의 NAME이 동일한 것은 '김철수' 밖에 없으니 김철수만 나오게 된다 즉 INNER JOIN이란 조건과 맞는 것만 가져오는 것! 다음으로는 OUTER .. 2019. 12. 10.
오라클 MERGE INTO 사용법 & 예제 MERGE INTO는 하나의 테이블 혹은 두 테이블을 가지고 비교해본 뒤에 조건에 맞으면 UPDATE, DELETE를 수행하고 맞지 않으면 INSERT를 수행하게 된다 위 테이블을 사용한 예제를 보자면 아래와 같다 MERGE INTO 사용할 테이블 USING 비교할 테이블(타 테이블과 비교하지 않을 시에는 DUAL 사용) ON (비교조건) WHEN MATCHED THEN(조건에 맞을 시) UPDATE SET 값 WHERE 조건 DELETE WHERE 조건(작성하지 않아도 됨) WHEN NOT MATCHED THEN(조건에 맞지 않을 시) INSERT (컬럼들) VALUES (값들) 이런 식으로 사용하는데 간단히 요약해보자면 하나의 테이블 혹은 두 테이블을 가지고 비교해본 뒤(비교한 컬럼명은 UPDATE .. 2019. 12. 10.
UNION, UNION ALL 사용법, 예제 & 차이점 UNION, UNION ALL은 여러 조회한 결과를 합쳐주는 역할을 하는데 SELECT * FROM TB1 UNION(혹은 UNION ALL) SELECT * FROM TB2 이런 식으로 조회한 결과를 합칠 수 있다 예제로 사용될 테이블과 쿼리는 위를 확인해주면 되는데 보면 두 테이블은 모두 NAME이 김철수, AGE가 30인 값을 제외하면 모두 다른 값들을 가지고 있다 UNION, UNION ALL을 사용해서 두 테이블을 모두 조회해본 뒤 결과를 합쳐보자 먼저 UNION의 경우에는 두 결과를 합치면서 중복 값은 제거하는데 TB1과 TB2에 모두 김철수, 30이 들어간 값이 있으므로 김철수는 두 줄이 아닌 한 줄만 나오는 것이 보인다 즉 UNION은 중복을 제거한 뒤 조회한 결과들을 합치는 것! 다음은 .. 2019. 12. 9.
INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL) 예제부터 차이까지 여기 NAME과, AGE 형태의 값을 받는 테이블 TB1, TB2가 있는데 TB1에는 4줄의 값을 TB2에는 3줄의 값을 삽입했다 이 두 테이블을 이용해 INNER JOIN과 OUTER JOIN의 예제 및 차이점을 알아보자 1. INNER JOIN INNER JOIN은 select * from 테이블1 inner join 테이블2 on 테이블1.컬럼 = 테이블2.컬럼 이런 식으로 사용하는데 on 뒤에 조건이 맞는 내용만 가져온다 TB1의 NAME과 TB2의 NAME이 같은 경우는 김철수밖에 없으니 김철수만 나오게 된다는 얘기다 2. LEFT, RIGHT OUTER JOIN outer join은 한쪽 테이블에 값이 있을 경우에 다른쪽 테이블이 조건에 맞지 않아도 가져오게 되는데 left는 왼쪽, right.. 2019. 12. 5.

반응형