'SQL 첫걸음' 공부 -Day 3

윤현묵·2021년 10월 23일
0
post-thumbnail

[학습 DAY - 3]

11강 결과 행 제한하기 - LIMIT (MySQL, PostgresSQL에서 사용)

  • 행수 제한 (LIMIT 구)
    -. SELECT 명령의 마지막에 지정
    • SELECT * FROM sample33 LIMIT 3;
  • LIMIT를 사용할 수 없는 데이터베이스에서의 행 제한
    -. SQL Server:TOP을 사용하여, TOP 뒤에 최대 행수를 지정 SELECT TOP 3 * FROM sample33;
  • 오프셋 지정
    -. sample33에서 LIMIT 3 OFFSET 0으로 첫 번째 페이지 표시
    • SELECT * FROM sample33 LIMIT 3 OFFSET 0;

12강 수치 연산

  • 연산자의 우선순위
    -. 1순위 : * / %
    -. 2순위 : + -

  • SELECT 구로 연산하기

    • SELECT *, price * quantity FROM sample34; (price * quantity)
    • SELECT *, price * quantity AS amount FROM sample34;
      -- amount라는 별명 붙이기, AS 생략 가능 (숫자로 이름을 지정할 수 없음)
  • WHERE 구에서 연산하기

    • WHERE 구에서 금액을 계산하고 2000원 이상인 행 검색하기
    • SELECT *, price * quantity AS amount FROM sample34 WHERE price * quantity >= 2000;
  • NULL 값의 연산
    -. NULL이 0으로 처리되지 않음
    --- NULL + 1 = NULL, 1+ 2*NULL = NULL, 1/NULL = NULL

  • ORDER BY 구에서 연산하기
    -. ORDER BY 구에서는 SELECT 구에서 지정한 별명을 사용할 수 있음

    • 서버 내부 처리 순서 : WHERE 구 → SELECT 구(별명 지정) → ORDER BY 구
    • SELECT *, price * quantity AS amount FROM sample34;
    • SELECT *, price * quantity AS amount FROM sample34 ORDER BY amount DESC;
  • 함수

    • 연산자 외에 함수를 사용해 연산 가능
      -. 10 % 3 → 1
      -. MOD(10, 3) → 1
  • ROUND 함수 (반올림)

    SELECT * FROM sample314;
    SELECT amount, ROUND(amount) FROM sample341; (반올림)
    SELECT amount, ROUND(amount, 1) FROM sample341; (소수점 둘째 자리에서 반올림)
    SELECT amount, ROUND(amount, -2) FROM sample341; (10단위 반올림)

13강 문자열 연산

  • 문자열 결합
    -. 문자열 결합하는 연산자에는 데이터베이스 제품마다 방언이 있음

    연산자/함수연산데이터베이스
    +문자열 결합SQL Server
    ||문자열 결합Oracle, DB2, PostgreSQL
    CONCAT문자열 결합MySQL

    -. SELECT * FROM sample35;
    -. SELECT CONCAT(quantity, unit) FROM sample35;

  • SUBSTRING 함수
    -. 문자열의 일부분을 계산해서 반환해주는 함수

    SUBSTRING('20211023', 1, 4) → '2021'
    SUBSTRING('20211023', 5, 2) → '10'

  • TRIM 함수
    -. 문자열 앞뒤로 여분의 스페이스가 있을 경우 이를 제거해주는 함수
    -. 문자열 도중에 존재하는 스페이는 제거되지 않음

    TRIM('ABC ') → 'ABC'

  • CHARACTER_LENGTH 함수 (CHAR_LENGTH)
    -. 문자열의 길이를 계산해 돌려주는 함수
    -. OCTET_LENGTH: 문자열의 길이를 바이트 단위로 계산해 반환
    -. 문자열 데이터의 길이는 문자세트에 따라 다름

  • 문자세트문자 수바이트 수
    EUC-KR1219
    UTF-81226
profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글