TIL) 데브코스 22일차 - SQL/SELECT

Pori·2023년 11월 14일
0

데엔

목록 보기
17/47

SQL 기본

  • 다수의 SQL 실행 시 세미콜론으로 분리
  • SQL 주석은 -- 또는 /* -- */ 로 사용한다.
  • SQL키워드는 대문자를 사용하는 등의 포맷팅이 필요하다.
  • 테이블/필드이름의 명명규칙을 정하는 것이 중요하다.
    • 단수,복수
    • _ , CamelCasing

DDL

  • CREATE TABLE (pk를 지정 가능하나 무시된다.)
    • CREATE TABLE 스키마.테이블이름()
  • CTAS : CREATE TABLE table_name AS SELECT 또는 CREATE TABLE and then INSERT

DML

  • INSERT INTO
  • UPDATE
  • DROP TABLE
    • 존재하지 않는 경우 → DROP TABLE IF EXISTS table_name;
  • 레코드 삭제는 DELETE FROM사용, TRUNCATE도 있다. DELETE FROM만 트랜젝션이 가능하다.
  • ALTER TABLE
    • 새로운 컬럼 추가 : ALTER TABLE table_name ADD COLUMN field_name field_type
    • 이름 변경 : RENAME A to B(컬럼이름) , A RENAME to B(테이블이름)
    • 기존 컬럼 제거 : DROP COLUMN
  • SELECT
    • SELECT FROM WHERE
    • GROUP BY → 그룹화
    • ORDER BY → 순서

SELECT

  • COUNT()
    : 레코드의 수를 체크하기 위해 사용한다.
SELECT table_name.COUNT()
  • CASE WHEN
    : 필드 값의 변환을 위해 사용 가능
CASE WHEN 조건 THEN value ELSE value END field_name

WHERE

  • IN : 특정 채널 안에 있는 경우 판별
  • LIKE(대소문자 구별), ILIKE(대소문자 구별없이)
  • BETWEEN : 일자의 범위를 체크한다.
  • STRING Functions
    • LEFT(str,N) : 왼쪽에서 N개의 문자
    • REPLACE(str,exp1,exp2) : 변환
    • UPPER,LOWER(str)
    • LEN(str)
    • LPAD,RPAD : 좌우 패딩 생성(특정 문자로 채운다)
    • SUBSTRING : 주어진 문자열을 슬라이싱
  • ORDER BY
    • ASC : 오름차순 → Default
    • DESC : 내림차순
  • 타입 변환
    • DATE Conversion
      • 타임존 : CONVERT_TIMEZONE(’’,timestamp)
      • DATE, TRUNCATE : 날짜만 리턴
      • DATE_TRUNC, EXTRACT or DATE_PART : 특정 부분의 값 추출
    • Type Casting
      • category::float
      • cast(category as float)
  • NULL: 값이 존재하지 않음을 나타내는 상수, 사칙연산에 들어가면 NULL로 바뀐다.

공부 한 내용

  • AWS - Redshift 구성
  • SQL - SELECT 실습

새롭게 배운 내용

  • Redshift 시작 방법
  • SELECT 기초 재학습

느낀점&참고

: SQL 실력향상을 위해서는 많이 작성해보아야한다고 느꼈다. SQL 코딩테스트 연습도 종종 해야할듯 하다.

1개의 댓글

comment-user-thumbnail
2023년 11월 14일

감사합니다. 이런 정보를 나눠주셔서 좋아요.

답글 달기