목록STUDY/DBMS (9)
Developer N
LPAD() 함수 왼쪽부터 특정 문자로 자릿수를 채우는 함수 사용방법 LPAD(내가 원하는 값 또는 열이름, 문자의 길이, 빈공간에 들어갈 문자) SELECT LPAD('123', 4, '0') FROM Birthday -- 결과 : 0123 채워야 할 문자 길이보다 빈공간에 들어갈 문자 길이가 짧을 경우 'TEST'가 반복되며 빈공간이 채워진다. SELECT LPAD('123', 10, 'TEST') FROM Test -- 결과 : TESTTES123 RPAD() 함수 오른쪽부터 특정 문자로 자릿수를 채우는 함수 사용방법 RPAD(내가 원하는 값 또는 열이름, 문자의 길이, 빈공간에 들어갈 문자) SELECT RPAD('123', 4, '0') FROM Test -- 결과 : 1230 채워야 할 문자 ..
SQL의 ORDER BY절에서 CASE문을 사용하는 방법을 정리해보겠다. 일반적으로 정렬을 할때 ORDER BY절을 사용한다. 보통 컬럼의 값을 통해 정렬이 진행되는데 ASC로 정렬할 경우 오름차순 DESC로 정렬할 경우 내림차순으로 진행된다. 이때 정렬하고자 하는 조건이 따로 있는 경우 CASE문을 사용하여 정렬할 수가 있다. SELECT * FROM Fruits ORDER BY (CASE WHEN name = '바나나' then 1 WHEN name = '사과' then 2 WHEN name = '멜론' then 3 ELSE 4 END); 위의 코드처럼 정렬할 경우 Fruits 테이블의 값들 중 name을 기준으로 case문에서 설정한 값 순서대로 정렬이 되고 그 이후로는 랜덤으로 정렬된다. 즉, 1..
WHERE 1=1은 조건문에서 항상 참을 의미한다. AND 조건을 자유자재로 넣고 빼기 위해 사용한다. 간단한 예제를 통해 살펴보자. SELECT * FROM User WHERE userName LIKE '김%' AND userRole = 1; 위 쿼리문의 두가지 조건 중 userName LIKE '김%' 조건을 주석처리하고자 할 때 SELECT * FROM User -- WHERE userName LIKE '김%' AND userRole = 1; 위와 같이 WHERE 명령어까지 주석처리하면 오류가 발생한다. SELECT * FROM User -- WHERE userName LIKE '김%' WHERE userRole = 1; 그렇다면 위의 쿼리문처럼 원하는 조건을 주석 처리하고 AND를 WHERE로 바..
마이바티스(MyBatis)란? 자바 객체와 SQL문 사이를 자동으로 매핑해주는 ORM(Object Relation Mapping) 프레임워크 SQL 파일을 별도로 분리하여 관리 가능하며, 객체와 SQL 사이의 파라미터를 자동으로 매핑해주기 때문에 편리 SQL 쿼리문을 그대로 사용하며 도메인 객체나 VO 객체 중심으로 개발 가능 특징 JDBC의 기능을 대부분 제공 (자동으로 제공하므로 깔끔한 코드 유지 가능) SQL문과 프로그래밍 코드 분리 가능 SQL 쿼리를 변경할 때마다 자바 코드를 수정하거나 따로 컴파일할 필요X SQL 작성과 관리 분담 가능 다양한 프로그래밍 언어 사용 가능 (Java, C#, .NET, Ruby) Mapper XML File MaBatis Mapper XML (SQL Mapping..