반응형
SELECT
SELECT 가져올필드
FROM 해당 테이블
WHERE 조건
list 테이블에서 Name 이 TOM 인 사람의 모든 필드 가져오기
SELECT *
FROM list
WHERE Name = 'TOM';
중복제거
SELECT DISTINCT Name
FROM Reservation;
LIKE 문
LIKE문 중간에 'o' 가 들어가는 모든 항목출력
SELECT *
FROM list
WHERE Name LIKE '%o%'
/// 아무문자 중간에 o 뒤에 2문자가 붙어있는 경우만 출력
- SQL문장은 대소문자를 구별하지 않는다.
- SQL문장은 한 줄 또는 여러줄에 입력될 수 있다.
- 일반적으로는 키워드는 대문자로 입력한다. 다른 모든 단어, 즉 테이블 이름, 열 이름은 소문자로 입력한다. (권장)
- 가장 최근의 명령어 한개가 SQL buffer에 저장된다.
- SQL문 마지막 절의 끝에 ; 를 기술하여 명령의 끝을 표시한다.
-- empno와 ename 은 각각 사번과 성명이라는 컬럼 별칭(alias)으로 만들어 출력
-- alias를 사용할 때 as라는 키워드를 사용해도 되고, 생략 할 수도 있다.
SQL> SELECT empno 사번, ename 성명
FROM emp
WHERE deptno = 10
사번 성명
---------- ---------------
7782 CLARK
7839 KING
7934 MILLER
-- 사번이 7900, 7934번인 사원의 사번과 성명 출력
SQL> SELECT empno, ename
FROM emp
WHERE empno IN (7900, 7934) ;
EMPNO ENAME
--------- -------------
7934 MILLER
7900 JAMES
LIKE 연산자
- 검색 STRING 값에 대한 와일드카드 검색을 위해서 LIKE연산자를 사용
- % : 여러 개의 문자열을 나타내는 와일드카드
- _ : 단 하나의 문자를 나타내는 와일드 카드
- ESCAPE : 와일드카드 문자를 일반문자처럼 사용하고 싶은 경우에 사용
WHERE name LIKE '%a\\_y%' ESCAPE'\\'
- LIKE연산자는 대소문자를 구분한다
- UPPER() 함수를 이용해 대소문자 구분없이 출력할 수 있다. (인덱스 성능문제 발생, 함수기반 인덱스 사용)
ORDER BY
ORDER BY 절은 데이터의 정렬을 위해 사용 (ASC [오름차순] , DESC[내림차순])
테이블 예명 (Alias)
- 테이블 alias로 column을 단순, 명확하게 할 수 있다.
- 현재의 SELECT문장에 대해서만 유효하다.
- 테이블 Alias는 길이가 30자까지 가능
- FROM절에 테이블 Alias설정 시 해당테이블 Alias는 SELECT문장에서 테이블 이름 대신 사용한다.
-- 사원수가 3명이 넘는 부서의 부서명과 사원수 조회
SQL> SELECT a.dname, b.cnt
FROM dept a, (SELECT deptno, COUNT(empno) cnt
FROM emp
GROUP BY deptno) b
WHERE a.deptno = b.deptno
AND b.cnt > 3
DNAME CNT
----------------- ----------
RESEARCH 5
SALES 6
반응형
'SQL > SQL' 카테고리의 다른 글
SELECT 기본문법 (0) | 2020.12.20 |
---|