CS/DB

SQL 문법 정리

wonow_ 2023. 10. 5. 15:24
  • SHOW TABLES
    • Tables를 보여준다
  • SELECT COLUMN FROM TABLE
    • TABLE 라는 테이블 안의 COLUMN 이라는 컬럼을 보여준다
    • *을 쓰면 모든 컬럼
  • WHERE
    • 조건을 걸고 그에 해당하는 값을 보여준다
      • 컬럼 조회
        • Select * from table where column = ABC
      • LIKE (문자열 안에 해당 단어가 있으면 조회, %로 표현한다.)
        • Select * from table where column like '%ABC'   //  어떤 문자 뒤에 ABC로 끝나는 컬럼 조회
        • Select * from table where column like 'ABC%'  // ABC로 시작하는 컬럼 조회
        • Select * from table where column like '%ABC%'  // column 내에 ABC가 들어가는 컬럼 조회
      • BEETWEEN
        • Select * from table where column between '2023-10-02' and '2023-10-04' //  2023-10-02와 2023-10-04 사이의 내용을 조회
        • Select * from table where column between 'A' and 'C' // A와 C 사이의 내용을 조회
  • LIMIT
    • 일부 데이터만 가져온다 // 데이터가 너무 많아서 오래 걸릴 때 유용
      • Select * from table limit 5 // 이렇게 적으면 위에서 5개의 데이터만 가져온다
  • DISTINCT
    • 중복되는 데이터 제외하고 조회
      • Select distint(column) from table
  • COUNT
    • 숫자 세기
      • Select count(*) from table
  • GROUP BY
    • 그룹으로 묶기
  • ORDER BY
    • 내림차순 정렬 (ASC가 생략되어 있다)
    • 오름차순으로 보려면 DESC 를 뒤에 추가로 입력해야한다
  • 별칭
    • 해당 테이블에 별칭을 붙여준다
      • Select * from table t
    • 별칭을 붙여준 후에는 컬럼 앞에 별칭을 놓고 사용하면 구별하기 편해진다.
      • Select * from table t where t.column = 'A'
  • JOIN
    • 두 테이블의 공통된 정보를 기준으로 테이블을 연결해서 한테이블 처럼 보게 해준다.
      • LEFT JOIN
        • A B 왼쪽에 있는 컬럼 A 기준으로 B를 오른쪽에다 붙인다.
          • Select * from table left join column(A) on column(B)
      • INNER JOIN
        • A B 를 교집합 한다.
          • Select * from table inner join column(A) on column(B)
  • UNION
    • Select를 두번할게 아니라 한번에 모아서 보고 싶은 경우에 사용한다
      • Select * from table1 union all Select * from table2 (겹치는 부분 제외하지 않고 합치기)
      • Select * from table1 union Select * from table2 (겹치는 부분 한가지 로우로만 표시하고 합치기)
  • SUBQUERY
    • 하나의 쿼리안에 또 다른 쿼리를 넣는다.
      •  Where 절에 쓰기
        • Select * from table1 where column in (SubQuery)
      • Select 절에 쓰기
        • Select column, (SubQuery) from table
      • From 절에 쓰기
        • Select column from (SubQuery) 별칭
      • Inner join 절에 쓰기
        • Select column from (SubQuery1) 별칭1 inner join (SubQuery2) 별칭2 on 별칭1.column = 별칭2.column
  • WITH
    • 서브쿼리랑 비슷한 개념인데 좀 더 깔끔하게 정리할 수 있는 문법
      • with 별칭ㄱ as (Select column from (SubQuery1) 별칭1 inner join (SubQuery2) 별칭2 on 별칭1.column = 별칭2.column) , 별칭ㄴ as (.......)
  • 문자열 데이터 다루기
    • SUBSTRING_INDEX
      • 문자열을 쪼개서 나눠표시하는 개념
        • Select column, substring_index(column, '문자', 1) from table
    • SUBSTRING
      • x번째 숫자부터 y글자 수 만큼 표시
        • Select column, substring(column,x,y) from table
  • CASE
    • 특정 조건에 따라 구분해서 표시하게 해주는 문법
      • Select column, case when column > 1000 then '화이팅' else '훨씬 화이팅' end from table