많은 데이터들 가운데 특정 개수의 데이터만 출력하고 싶을 때 어떻게 하면 될까? 아래방법을 사용하면된다 MSSQL - SELECT TOP MYSQL - LIMIT절 ORACLE - ROWNUM MSSQL - SELECT TOP SELECT 바로 뒤에 TOP 숫자 (표시할 개수) 또는 TOP 숫자% (표시할 개수의 비율)을 적으면 된다 ID NAME SALARY 1 철수 300 2 영희 350 3 훈이 200 4 정우 400 5 민우 370 6 현우 220 이 테이블에서 SALARY가 높은 3명을 출력하면 SELECT TOP 3 * FROM TABLE ORDER BY SALARY DESC - SALARY를 기준으로 내림차순 정렬한 곳에서 3개의 ROW만 출력이 된다 ID NAME SALARY 4 정우 40..
LIKE 연산자는 문자열의 패턴을 검색하는 데 사용을 합니다 우리가 '라면'이라고 검색을 하면 정확하게 라면이라는 글 또는 사전의 내용이 검색되기도 하지만 동시에 '라면을 먹었다' '짜장라면' 등 라면이 들어간 다른 문자열들도 검색이 됩니다 라면 = 짜장라면 은 물론 다른 단어라 검색이 안되여야 하지만 LIKE 연산자를 사용하면 해당하는 단어만 있으면 검색이 됩니다 기본적인 사용법입니다 SELECT * FROM 테이블 WHERE 칼럼 LIKE 'PATTERN' - 패턴에는 ( % )와 ( _ )가 사용되는데 ( % )는 '모든 문자'라는 의미이고 ( _ )는 '한 글자'라는 의미이다 실제로 사용하는 예를 보기 위해 아래 테이블을 준비했습니다 NAME PRICE AMOUNT 짜장라면 1000 4 스파게티 ..
JOIN에 관해 포스팅하려 합니다 개인적으로는 조금 어려웠습니다.. 아래의 그림이 잘 정리가 되어있는데 한번 설명해보겠습니다 LEFT / RIGHT JOIN LEFT JOIN 기준으로 설명하겠습니다. RIGHT JOIN은 기준 테이블이 반대가 되면 된다 A , B 테이블 중에서 A값의 전체와 A의 KEY와 B의 KEY 가 같은 결과를 리턴 아래의 테이블을 A테이블이라고 하겠다 ID NAME AGE POINT 1 철수 15 500 2 영희 13 NULL 3 훈이 14 200 4 정우 14 NULL 아래는 B테이블 이다 ID SCHOOL GRADE 1 고구려중학교 1 3 백제중학교 3 3 신라중학교 2 4 발해중학교 1 5 고려중학교 2 사용법은 아래와 같습니다. -- JOIN 사용법 SELECT ~~~ F..
값이 NULL일 경우 다른 값으로 출력해주는 함수들을 소개한다 아래는 설명에 쓰일 테이블입니다 NAME SALARY 철수 4000 영희 3500 훈이 NULL Oracle - NVL, NVL2 ORACLE에서는 NVL / NVL2 함수를 사용합니다 NVL(EXPR1, EXPR2) - EXPR1이 NULL이면 EXPR2의 값을 NULL이 아니면 EXPR1의 값 출력 SELECT NAME, NVL(SALARY, 'NO PAY') AS SALARY --> SALARY가 NULL이면 'NO PAY' 아니면 SALARY 출력 NAME SALARY 철수 4000 영희 3500 훈이 NO PAY 위 결과가 출력됩니다 어렵지 않죠?? NVL2(EXPR1, EXPR2, EXPR3) - EXPR1이 NULL이 아니면 EX..
날짜에서 더하거나 빼는 연산에 관한 내용입니다 Oracle에서 기본적인 날짜 연산 * SYSDATE함수는 실행될 때의 시간을 리턴합니다 SELECT SYSDATE + 1 --// 1일 후 출력 이렇게 하면 현재 날짜에 1일이 추가되어 출력됩니다 하루 전을 출력하려면 ( + )를 ( - )로 바꾸면 되겠죠 이 부분을 응용해서 1시간 1분 1초 후 등 다양하게 출력 가능합니다 1이 하루이기 때문에 1을 24로 나누면 1시간 거기서 60으로 또 나누면 1분 또 60으로 나누면 1초가 되겠죠? SELECT SYSDATE + 1/24 --// 1시간 후 SELECT SYSDATE + 1/24/60 --// 1분 후 SELECT SYSDATE + 1/24/60/60 --// 1초 후 ADD_MONTHS 함수를 이용..
SQL에서 문자를 합치는 기능에 관한 포스팅입니다 사용법은 굉장히 간단합니다 || (쌍파이프) 사용법 먼저 || (쌍파이프)는 문자(데이터)와 문자(데이터) 사이에 || 를 넣어주면 됩니다 아래와 같은 테이블이 있을 때 NAME CLASS POINT 철수 A 95 영희 B 80 SELECT NAME || CLASS || POINT AS 'ALL IN ONE' ALL IN ONE 철수A95 영희B80 이렇게 결과가 출력됩니다 지금 NAME, CLASS, POINT 값들이 다 붙어져 있어서 사이에 공백또는 문자로 연결하고 싶다면 SELECT NAME || ' ' || CLASS || ' ' || POINT AS 'ALL IN ONE WITH SPACE' -->> 사이사이 공백주기 SELECT NAME || ..