SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE salary>5000
ORDER BY 월급 DESC;
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE in_date>'2004-01-01';
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE name >='이순신666'
ORDER BY name;
문자도 대소 비교가 가능
숫자->영어->한글 순으로 되어있음
SELECT name FROM emp_test ORDER BY name;
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE in_date>'2004-01-01' AND salary >= 5000;
AND-> 두조건 모두 만족할 경우
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE in_date>'2004-01-01' OR salary >= 5000;
OR-> 한 조건이라도 만족하는 경우
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE in_date>'2007-01-01' AND salary >= 5000 OR dept_name='관리부';
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE in_date>'2007-01-01' AND (salary >= 5000 OR dept_name='관리부');
BETWEEN ~이상 ~이하
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE salary BETWEEN 1000 AND 2500;
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE salary BETWEEN 2500 AND 1000;
-->에러남 앞의 숫자가 더 작야함
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE salary NOT BETWEEN 1000 AND 2500;
SELECT
name 이름, salary 월급, dept_name 부서, in_date 입사일
FROM emp_test
WHERE name BETWEEN '김유신222' AND '한국990'
ORDER By name;
IN(일치하는것, 일치하지 않는것,...)
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE dept_name IN('관리부','영업부');
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE dept_name NOT IN('관리부','영업부');
SELECT
*
FROM emp_test
WHERE salary IS NULL;
SELECT
*
FROM emp_test
WHERE salary IS NOT NULL;
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE name LIKE '김%';
-->_는 하나 김씨성을 가지고 이름이 1자인 직원이름 부서 조회
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE name LIKE '김_';
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE name LIKE '김__';
->중간문자자 길자가 들어가는 직원,부서 조회
SELECT
name 이름, dept_name 부서
FROM emp_test
WHERE name LIKE '_길_';
INSERT
INTO emp_test(name, title)
VALUES ('박_%','특수%');
INSERT INTO emp_test(name, title)
VALUES ('김_%','특수%');
SELECT*FROM emp_test;
SELECT
*
FROM emp_test
WHERE name LIKE '__%';
--> 모두다 출력됨 _과 %는 예약어이기 때문에
-->ESCAPE 옵션을 이용하여 사용해야함
-->ESCAPE 문자를 내가 지정가능
SELECT
*
FROM emp_test
WHERE name LIKE '_\_\%' ESCAPE '\';
SELECT
*
FROM emp_test
WHERE name LIKE '_?_?%' ESCAPE '?';
SELECT
name 이름, in_date 입사일
FROM emp_test
WHERE in_date LIKE '%01';
SELECT
name 이름, in_date 입사일
FROM emp_test
WHERE in_date LIKE '04%';
SELECT
name 이름, in_date 입사일
FROM emp_test
WHERE in_date LIKE '%0%';
내장함수(Sing-Row Functions) - 하나의 레코드에서 쓸 수 있는 funtion
문자형
CONCAT(a, b) => ab
SUBSTR(abcd 2, 3)=> bcd 2에서부터 3까지 잘라라
LENGTH(abcd) => 4
숫자형
ROUND , TRUNC, MOD(7,2)=>1 MOD(=%)
날짜형
MONTH-BETWEEN
변환형
'Programming > DataBase' 카테고리의 다른 글
ORA-00911: 문자가 부적합합니다 (0) | 2012.09.25 |
---|---|
트랜잭션(transaction) 이란? (0) | 2012.09.17 |
ResultSetMetaData (0) | 2012.09.17 |
오라클 sqlplus 화면설정하기(pagesize, linesize) (0) | 2012.04.25 |
java 고급과정 9일차 (0) | 2012.03.15 |