본문 바로가기

Query14

[SQL] LPAD & RPAD DB 값 양식 맞춰 채우기 SQL - LPAD & RPAD 1~12를 오름차순으로 정렬한다면 1 2 3 4 5 6 7 8 ... 11 12로 정렬이 될 것이다 하지만 입력된 것이 숫자가 아닌 문자로 입력 되었다면 1 10 11 12 2 3 4 .. 9 가 출력이 된다 그렇기 때문에 문자라면 앞에 0을 붙여줘야하는데 그러한 기능을 해주는 것이 LPAD이다 자리수를 입력하면 그 자리수가 될 때 까지 0을 계속 붙여주는 역할을 한다 그와 반대로 RPAD는 오른쪽에서부터 0이 붙는다 2016. 5. 19.
[SQL] CASE WHEN ELSE 쿼리 분기시키기 SQL - CASE WHEN ELSE SQL에서 Switch Case와 같이 사용되는 것으로 이전에 공부한 DECODE와 비슷하다고 볼 수 있다 하지만 DECODE는 지정한 값을 특정한 값으로 출력이 가능하지만 나머지 조건에 대해서 출력을 할 수 없다 CAE WHEN ELSE는 ELSE를 통해서 지정한 조건 외 나머지 값들을 출력이 가능하다 아래의 예제로 살펴본다 기본적으로 HR 계정에서 정보를 출력할 때 JOB_ID 별로 A, B, C, D, E 그리고 나머지는 0을 출력하고 싶다면 아래와 같이 CASE WHEN ELSE를 사용하면 된다 CASE로 비교할 컬럼명을 적고 WHEN으로 조건 THEN으로 값을 적어준다 switch case와 비슷하다 CASE WHEN ELSE는 사용자가 원하는데로 사용이 가.. 2016. 5. 19.
[SQL] DECODE 쿼리에서 특정값으로 출력하기 SQL - DECODE DECODE는 Oracle에서만 지원되는 키워드이다 특정 컬럼의 값을 기준으로 IF문처럼 사용이 가능하다 지정할 값이 'A'이면 '에이' 출력 'B'면 '비' 출력과 같이 값에 따라서 원하는 정보로 출력을 할 수 있다 아래의 예제로 살펴본다 (Oracle HR 계정 사용) # SQL 13번 DECODE는 '조건1', '1 참인경우', '조건2', '2 참인경우', '...', 'FALSE' 여기서 B인 사람만 출력하고 싶다면 다음과 같이 별칭과 뷰을 이용해야 한다 WHERE 절에는 뷰나 프롬에서 오는 것만 작성 가능하다 DECODE는 조건일 때 어떠한 값을 보여주지만 CASE WHEN ELSE는 CASE일 때 쿼리도 작성이 가능하다 2016. 5. 15.
[SQL] DELETE DB 데이터 삭제하기 SQL - DELETE 쿼리를 이용해서 DB의 데이터를 삭제하는 것이 DELETE 절이다 삭제 시에는 컬럼이나 테이블이 삭제되는 것이 아니라 열을 삭제하는 것을 기억하자 사용 양식은 다음과 같다 DELETE FROM [테이블 명]을 적어주면 된다 하지만 삭제도 UPDATE와 마찬가지로 WHERE절이 없다면 모든 열이 사라지게 되므로 아래와 같이 WHERE 절로 삭제를 하려고 하는 열이 가진 데이터를 지정해주므로써 그 데이터를 가진 열을 모두 삭제할 수 있다 WHERE절로 걸어줘야 ACTOR_ID가 19인 항목만 삭제가 된다 특정 하나의 데이터를 삭제하기 위해서 PK값을 WHERE절로 많이 사용하게 된다 2016. 5. 12.