-
오라클 SELECT 문 - 데이터 추출웹프로그래밍/데이터베이스 2018. 6. 17. 16:00
--##SELECT 문 - 기본
SELECT * FROM DEPT;
SELECT DEPTNO, DNAME FROM DEPT;
--칼럼 이름에 별칭 지정(공백이나 특수문자, 대소문자 구별하려면 AS를 생략하고" "을 사용
--주로 자바 언어로 데이터를 꺼내올때 쓴다.
SELECT DEPTNO AS DepartmentNo, DNAME AS DepartmentName FROM DEPT;
SELECT DEPTNO "Department No", DNAME "Department Name" FROM DEPT;
--DISTINCT
--중복된 데이터 없이 한번씩 출력
--EMP 테이블의 JOB 칼럼의 데이터를 중복 없이 가져온다.
SELECT DISTINCT JOB FROM EMP;
--##WHERE 조건과 비교 연산자
SELECT EMPNO, ENAME, SAL FROM EMP WHERE SAL>=3000;
--문자 데이터 조회
SELECT EMPNO, ENAME, SAL FROM EMP WHERE ENAME='SCOTT';
--날짜 데이터 조회
SELECT ENAME, HIREDATE FROM EMP WHERE HIREDATE >='1985/01/01';
--AND 연산자
SELECT ENAME, DEPTNO, JOB FROM EMP WHERE DEPTNO=10 AND JOB='MANAGER';
--OR 연산자
SELECT ENAME, DEPTNO, JOB FROM EMP WHERE DEPTNO=10 OR JOB='MANAGER';
--NOT 연산자
SELECT ENAME, DEPTNO, JOB FROM EMP WHERE NOT DEPTNO=10;
--BETWEEN AND 연산자
--급여가 1000~3000 사이에 있는 사원
SELECT ENAME, SAL FROM EMP WHERE SAL BETWEEN 1000 AND 3000;
--IN 연산자
--칼럼의 값 중에서 원하는 값을 가져온다.
SELECT ENAME, SAL, EMPNO FROM EMP WHERE EMPNO IN(7844, 7654, 7521);
--아래도 동일한 결과
SELECT ENAME, SAL, EMPNO FROM EMP WHERE EMPNO=7844 OR EMPNO=7654 OR EMPNO=7521;
--LIKE 연산자와 와일드카드
--찾고자하는 값을 정확히 모를 경우, 와일드카드를 함께 사용하여 검색한다.
--ENAME 값이 K로 시작하는 사원
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE 'k%';
--이름 중 K를 포함하는 사원
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE '%K%';
--이름이 K로 끝나는 사원
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE '%K';
--이름에 두 번째 글자가 A인 사원
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE '_A%';
--이름에 A를 포함하지 않은 사원
SELECT EMPNO, ENAME FROM EMP WHERE ENAME NOT LIKE '%A%';
--##NULL은 비교 연산자를 사용할 수 없다.
--NULL은 연산, 할당, 비교가 불가능하다.
--ex) 100 + NULL = NULL
SELECT ENAME, COMM, JOB FROM EMP WHERE COMM=NULL; -->>아무 값도 나오지 않는다.
--IS NULL과 IS NOT NULL
SELECT ENAME, COMM, JOB FROM EMP WHERE COMM IS NULL;
SELECT ENAME, COMM, JOB FROM EMP WHERE COMM IS NOT NULL;
--정렬 ORDER BY
--행(ROW)을 정렬하는데 사용, 쿼리문 맨 뒤에 기술하며 칼럼이름 또는 SELECT 절에서 명시된 별칭을 사용할 수 있다.
--ASC(오름차순, 기본값), DESC(내림차순)
--사번을 기준으로 오름차순 정렬
SELECT EMPNO, ENAME FROM EMP ORDER BY EMPNO; --또는 ORDER BY EMPNO ASC;
'웹프로그래밍 > 데이터베이스' 카테고리의 다른 글
오라클 SQL - 일반함수, 그룹함수 (0) 2018.06.20 오라클 SQL - 숫자함수, 날짜함수, 변환함수 (0) 2018.06.20 오라클 - SQL 문자함수 (0) 2018.06.17 SQL 기초 (0) 2018.06.17 오라클 교육용 계정 - SCOTT 생성 및 활성화 (0) 2018.06.17