나는 지금
자바 기반 웹 프로그래밍을
배우고 있다.
데이터를 가져올 때
가장 많이 사용되는 문장은
SELECT 문장 이라고 한다.
70%는 SELECT 문장이라고 하니
정확하게 이해하고 넘어가야 될 것 같다.
1. SELECT ~ FROM ~
SELECT문은 데이터를
읽어 올 때 사용된다.
SELECT (컬럼명) FROM (테이블)
은 생략이 불가능한 필수 값이다.
즉, 가져오고자 하는 속성과
속성의 테이블은 꼭 입력해야 한다.
예제1)
emp 테이블의 모든 데이터를 출력하세요.
답) SELECT * FROM emp
* : 모든 속성(컬럼)을 출력한다.
예제2)
emp 테이블에서 이름 ename과
사번 empno을 출력하세요.
답) SELECT ename,empno
FROM emp
2. WHERE
WHERE 절은 조건을 나타낸다.
( IF 와 비슷한 역할 )
원하는 조건을 입력 해야하니
관련 연산자를 숙지하는 것이 중요하다.
= | 같다 |
<> , != , NOT | 같지 않다 |
AND | 그리고 (~ 이고) |
OR | 또는 |
& | 입력값을 받음 *주의 필요* |
IN | OR 기능과 같음,여러개의 조건을 찾을 때 유용 |
BETWEEN a AND b | a와 b 사이의 값 |
IS NULL | 공백일 때 |
IS NOT NULL | 공백이 아닐 때 |
LIKE | % 모든 값 대체 _ 한글자 대체 |
|| | 문자열 결합 |
' ' | 문자형, 날짜형 ' ABC ' , ' 21-03-20 ' java에서 데이터 가져올 때 정수에는 " " 그냥 가져오면 되지만 문자형은 ' " " ' 가져와야함 |
예제1)
입사일자가 82년 이후에 입사한 사람
답) WHERE hiredate > '82-12-31'
예제2)
보너스가 300이거나 5000이거나 1400인 사람
답) \WHERE comm IN(300,5000,1400)
예제3)
이름의 두번째 글자가 A가 들어가는 사람
답) WHERE ename LIKE '_A'
예제4)
부서번호가 10이 아닌 직원
답) WHERE deptno <> 10;
예제5)
이름에 A가 없는 직원
답) WHERE ename NOT LIKE '%A%'
예제6)
보너스가 500에서 1400이 아닌 직원
답) WHERE comm NOT BETWEEN 500 AND 1400
예제7)
커미션을 받는(커미션이 null값이 아닌) 직원
답) WHERE comm IS NOT NULL
3. ORDER BY
ORDER BY 절은 정렬할 때 사용된다.
등수가 높은 순서대로 출력하고 싶다거나,
높은 비용을 지출하는 순서대로 출력하고 싶을 때
문장의 마지막에서 사용된다.
[ ASC (생략) ]
오름차순
작은 수에서 큰 수로의 출력
1등부터 출력하고 싶을 때
앞 번호부터 출력하고 싶을 때
[ DESC ]
내림차순
큰 수에서 작은 수로의 출력
큰 금액부터 출력하고 싶을 때
최근 날짜부터 출력하고 싶을 때
예제)
월급을 많이 받는 순으로 출력하라
답) ORDER BY sal DESC;
예제)
학번 순서대로 출력하라
답) ORDER BY no;
(ASC는 생략 가능)
ORDER BY 는 꼭 마지막에 오는 것을 기억하자!
4. GROUP BY
HAVING
동시에 여러 대이터를 제어하기 위해서
그룹으로 묶는 방법이 있다.
그룹의 조건을 주는 것은 HAVING이다 .
2022.07.06 - [DB/SQL] - [DB/SQL] 오라클 그룹 조건 주는 방법 GROUP BY , HAVING
형식 / 순서
[ 필수문장 ]
1. SELECT * 컬럼명
2. FROM 테이블명
[ 여기서부터는 선택 ]
3. WHERE 조건문
4. GROUP BY 그룹컬럼|함수
5. HAVING 그룹조건
6. ORDER BY 컬럼명|숫자|함수 (ASC/DESC)
순서를 지키지 않으면
실행이 안되니
꼭 순서를 유념하자 !
'Oracle' 카테고리의 다른 글
[DB/오라클] INSERT INTO 직접 만든 테이블에 테이터 삽입하기 (0) | 2022.07.01 |
---|---|
[DB/오라클] CREATE TABLE 같이 테이블 생성해 보아요 (primary key, foreign key, check) (0) | 2022.06.30 |
[DB/오라클] (단일행 함수) 문자 함수, 숫자 함수, 날짜 함수, 변환 함수, 기타 함수 (0) | 2022.06.24 |
데이터베이스_SQL_DDL, DML, DCL 질의어 (0) | 2022.06.17 |
데이터베이스_DBMS 정의와 장단점 (0) | 2022.06.17 |