2 minute read

SQL 시작

  • 직전 강의에서 DB개요 및 실습환경 설정 완료
  • VMWARE 설치 후, 해당 VM에 SQL Developer 설치
  • 데이터베이스, ‘scott’ 생성
  • 기본 문법, 연산자 종류 등 학습



데이터 조회하는 방법

  • 행 단위 조회
  • 열 단위 조회
  • 행,열 함께 사용하여 원하는 정보만 뽑아냄



기본 SQL 구문

  • SELECT [조회할 열1 이름], [조회할 열2 이름], … , [조회할 열N 이름]
  • FROM [조회할 테이블 이름];
  • WHERE [조건할 행을 선별하기 위한 조건식];
  • 연습 1. 사원번호 7782인 사원정보 조회

    SELECT *
    FROM EMP
    WHERE EMPNO = 7782;

  • 연습 2. 사원번호 7499인 사원정보 중 이름, 직책, 부서명만 조회

    SELECT ENAME, JOB, DEPTNO
    FROM EMP
    WHERE EMPNO = 7499;

  • ‘텍스트’로도 조회 가능!

    단! 홑따옴표 추가, 대소문자 구분!
    SELECT ENAME, JOB, DEPTNO
    FROM EMP
    WHERE EMPNO = 'SMITH;';



중복 제거(SELECT DISTINCT)

  • 기본적으로 COLUMN별 중복된 데이터 그대로 출력

    SELECT DEPTNO
    FROM EMP;

  • DISTINCT 추가로 중복 데이터 제거!

    SELECT DISTINCT DEPTNO
    FROM EMP;



Column명 변경(별칭 지정)

  • 식이 들어간 부분 뒤에 ‘AS 별칭’ 입력

    AS “별칭” / AS 별칭 / “별칭” 모두 가능
    ex. SELECT ENAME AS "사원명"
    ex. SELECT SAL "월급"



ORDER BY (출력데이터 정렬)

  • 오름차순: ASCENDING: ASC
  • 내림차순: DESCEDING: DESC

    ORDER BY [칼럼명] ASC
    ORDER BY [칼럼명] DESC

  • Column별 적용 가능

    ex. ‘부서번호’ 오름차순 먼저 적용 후, 부서 내 ‘월급’ 내림차순으로 표시
    SELECT *
    FROM EMP
    ORDER BY DEPTNO ASC, SAL DESC;

  • ORDER BY 정렬의 경우, 필요한 경우가 아니라면 사용하지 않는게 좋음!!
  • 데이터가 많을수록 컴퓨팅자원 소모 큼!!
  • WHERE문 사용 권장

AND와 OR

  • 복수의 조건식이 있을 때,

    식1 AND 식2: 1, 2 모두 만족하는 결과 출력
    식1 OR 식2: 1, 2 중 하나라도 만족하면 모두 출력

andPractice

orPractice



연산자 종류와 활용

  • 산술 연산자: +, -, *, /
  • 비교 연산자: >, >=, <, <= (문자, 숫자 모두 적용 가능)
  • 등가 비교: = (같다) // !=, <>, ^= (같지 않다)
    comparisonPractice
  • 논리 부정: 조건식 내에 ‘NOT’ 기입
    nandPractice
  • IN 연산자: 동일한 column에 여러 개의 데이터 동시 조회 (NOT 적용 가능)
    inPractice
    notInPractice
  • BETWEEN: 최소값 A에서 최대값 B까지 비교범위 지정하여 조회
    betweenPractice
  • LIKE: 특정 문자열, 패턴을 조회

    와일드카드: (언더바))
    stringPractice

  • NULL: ‘데이터 값이 존재하지 않는다’는 의미, ‘해당사항 없음’ 또는 ‘확정되지 않은 값’이라는 뜻도.

    ‘IS NULL’ 또는 ‘IS NOT NULL’ 로 사용
    nullPractice

  • UNION(집합연산자): SELECT문을 연결(단, column의 개수와 자료형이 같아야 함!)

    UNION: 중복이 제거되는 합집합
    UNION ALL: 중복 허용
    MINUS: SELECT1 UNION SELECT2일 때, 1의 데이터 중 2에 없는 값들만 출력 (차집합)
    INTERSECT: 연결된 SELECT문 모두에 존재하는 값들만 출력 (교집합)

  • 연결 연산자: 복수의 column과 결과값을 하나로 붙여서 출력

    Column 사이에 || 입력
    concatenationPractice

  • SELECT 명령에 표현식(literal) 사용하여 출력

    Q’[표현식]’ 입력
    또는
    ‘ 표현식 ‘ (홑따옴표 블록 안에서, 따옴표 2개(‘‘)는 하나(‘)로 출력됨!)
    literalAndConcatenation

    literalAndConcatenation2



연습문제(1, 2, 3)

  • 복습하면서 다시 코드 써보기!!
    test

  • 1번

    SELECT NAME || Q'['s ID:]' || ID || Q'[, WEIGHT is ]' || WEIGHT || Q'[kg]' AS "ID AND WEIGHT"
    FROM STUDUENT(테이블명);

  • 2번

    SELECT ENAME || '(' || JOB || '), ' || ENAME || '''' || JOB || '''' AS "NAME AND JOB"
    FROM EMP(테이블명);

  • 3번

    SELECT ENAME || Q'['s Sal is $]' || SAL AS "Name and Sal"
    FROM EMP;






기타(팁)



다음 강의 준비








nice!!!

Updated: