Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발 일기

SELECT문 내용 정리 및 활용해보기 2 (feat. 데이터 제한과 정렬) 본문

SQL

SELECT문 내용 정리 및 활용해보기 2 (feat. 데이터 제한과 정렬)

개발 일기 2021. 7. 7. 01:10

어제에 이어서 SQL의 SELECT문과 관련된 문법을 알아보도록 하겠습니다~!

 

1. 'SELECT ~ WHERE'  ??

 - 테이블내의 모든 행을 검색하는 대신 검색 조건을 지정하여 사용자가 원하는 행들만 검색하는 기능

 - 기본적인 문법 형태

  -> SELECT [DISTINCT] {*, column, [alias], 등등} FROM TABLE WHERE 조건식;

   

    -- DEPTNO가 '30'에 해당하는 행의 'EMPNO, ENAME, JOB, DEPTNO' 출력

   EX) SELECT EMPNO, ENAME, JOB, DEPTNO, FROM TABLE WHERE DEPTNO = 30

DEPTNO = 30에 해당하는 데이터만 출력 됨

 

2. SQL의 비교 연산자 1

 - = (같다)

 - > (보다 크다)

 - >= (보다 크거나 같다)

 - < (보다 작다)

 - <= (보다 작거나 같다)

 - <>, !=, ^= (다르다)

   

    -- SAL의 값이 1000보다 작거나 같은 행의 EMPNO, SAL 값 출력

   EX) SELECT EMPNO, SAL FROM TABLE WHERE SAL <= 1000; 

SAL <= 1000 이하 값 출력 확인

 

2-1. SQL의 비교 연산자 2

 - BETWEEN ... AND ... (두 값의 범위에 포함되는)

 - IN (set) (괄호 안의 값과 일치하는)

 - LIKE (문자의 조합이 같은), (검색하고자 하는 문자열을 정확히 알 수 없는 경우 사용, 패턴 매칭 연산자)

  - LIKE % (0 글자 이상의 임의 문자를 대표한다)

  - LIKE _ (1 글자의 임의 문자를 대표한다)

 - IS NULL (널 값)

 

    -- BETWEEN 예시

   EX) SELECT EMPNO, ENAME, SAL FROM TABLE WHERE SAL BETWEEN 1000 AND 2000;

1000~2000사이 SAL의 값 출력

   

    -- IN (set) 예시

   EX) SELECT EMPNO, ENAME, JOB FROM TABLE WHERE EMPNO IN (7839, 7844, 7876);

EMPNO (SET)의 값 출력

   

    -- LIKE 연산자 예시 (%)

   EX) SELECT EMPNO, ENAME, JOB FROM TABLE WHERE ENAME LIKE 'A%';

ENAME A% = A로 시작하는 이름 출력

 

    -- LIKE 연산자 예시 (_, %)

   EX) SELECT EMPNO, ENAME, JOB FROM TABLE WHERE ENAME LIKE '_L%';

ENAME _L% = 앞에 '_'한 자리 두고 L자로 시작하는 이름 출력

 

    -- IS NULL 연산자 예시

   EX) SELECT EMPNO, ENAME, COMM FROM TABLE WHERE COMM IS NULL;

COMM의 IS NULL 검색 시 COMM의 값이 NULL인 행 모두 출력

 

3. SQL의 논리 연산자

 - AND (두개의 조건이 TRUE 이면 TRUE를 리턴)

 - OR (두개의 조건중 하나의 조건이 TRUE이면 TRUE를 리턴)

 - NOT (조건이 FALSE이면 TRUE를 리턴)

 

    -- AND 연산자 예시

   EX) SELECT EMPNO, ENAME, JOB, SAL FROM TABLE WHERE JOB = 'SALESMAN' AND SAL >=1500;

JOB = SALESMAN 이면서 SAL >= 1500인 행 출력

 

    -- OR 연산자 예시

   EX) SELECT EMPNO, ENAME, JOB, SAL FROM TABLE WHERE JOB = 'SALESMAN' OR SAL >=1500;

JOB이 SALESMAN 이거나 SAL의 값이 1500이 넘는 행 출력

 

    -- NOT 연산자 예시

   EX) SELECT EMPNO, ENAME, COMM FROM TABLE WHERE COMM IS NOT NULL;

COMM의 값이 NULL이 아닌 행 출력 // 0은 NULL이 아닌 0임

 

4. SQL의 정렬

 - SELECT 문장에 의해 검색된 결과를 정렬

 - 기본적인 문법 형태

  -> SELECT [DISTINCT] {*, column, [alias], 등등} FROM TABLE WHERE 조건식 ORDER BY{column, exp}, [ASC/DESC];

 

    -- ORDER BY 정렬 연산자 예시 (오름차순)

   EX) SELECT EMPNO, ENAME, HIREDATE FROM TABLE ORDER BY HIREDATE;

ORDER BY는 기본적으로 오름차순(ASC) 정렬 생략

 

    -- ORDER BY 정렬 연산자 예시 2 (내림차순)

   EX) SELECT EMPNO, ENAME, HIREDATE FROM TABLE ORDER BY HIREDATE DESC;

내림차순(DESC) 정렬

 

    -- ORDER BY 정렬 연산자 예시 3 (여러 항목 정렬 시)

   EX) SELECT EMPNO, ENAME, SAL FROM TABLE ORDER BY SAL DESC, EMPNO;

SAL을 DESC(내림차순) 정렬 후 EMPNO를 오름차순 정렬 시

 

 

SQL의 SELECT와 관련되어 나오는 문법들을 추가로 알아 보았습니다!!

감사합니다.

Comments