SQL

MYSQL 문법

라임온조 2023. 6. 9. 22:24

1. DATE 타입

  • YEAR(컬럼명)
    • 연도 추출
  • MONTH(컬럼명)
    • 월 추출
  • DAYOFMONTH(컬럼명)
    • 일 추출
  • 뽑은 값을 비교할 때는 '' 안에 숫자 넣어서 비교
  • DATETIME끼리 비교할 때 >, <로 비교하면 된다
    • 날짜1 > 날짜 2 
      • 날짜 1이 날짜 2보다 더 나중인지 확인
      • 즉, 값이 더 클수록 더 나중인 것

2. 값 비교

= 하나로 비교

 

3. MAX, MIN

  • 숫자와 DATETIME 모두 MAX, MIN 으로 행 추출 가능
  • 그런데 MAX, MIN으로 추출한 특정 행 말고 해당 행의 다른 열이 필요할 때
    • 서브쿼리 사용
      SELECT NAME
      FROM ANIMAL_INS A
      WHERE A.DATETIME = 
          (SELECT MIN(DATETIME)
              FROM ANIMAL_INS b
            )
    • LIMIT 사용
      • SELECT NAME
        FROM ANIMAL_INS
        ORDER BY DATETIME 
        LIMIT 1

 

4. LIMIT

  • 전체 데이터 중 LIMIT에 제한한 개수의 행만 보여주도록 함
  • SELECT * FROM T LIMIT 2
    • T테이블에 있는 행 중 맨 위 2개만 보여줌

 

5. IFNULL

  • 추출한 값이 NULL일 경우의 처리
  • IFNULL(컬럼명, '컬럼 값이 NULL 일 경우 대체 값') AS 출력할 컬럼 이름

 

6. IN

  • OR 조건 여러 개를 한 번에 넣는 거라고 볼 수 있다
  • IN 안에 있는 것 중 하나와 일치하면 맞는 것이라고 인정 된다
  • SELECT F.FLAVOR 
    FROM FIRST_HALF F
    WHERE F.TOTAL_ORDER > 3000 
    AND F.FLAVOR IN (
        SELECT I.FLAVOR
        FROM ICECREAM_INFO I
        WHERE INGREDIENT_TYPE = 'fruit_based'
        )
    ORDER BY F.TOTAL_ORDER DESC

 

7. AVG

  • 평균을 구할 때 사용
  • AVG(컬럼명)

 

8. ROUND

  • 소수점이 있는 특정 값을 반올림 할 때 사용
  • ROUND(값)
    • 소수점 첫째자리에서 반올림한 값 출력
    • 소수점이 안 보이게 됨
  • ROUND(값, 자릿수)
    • 해당 소수점 자릿수까지 보이게 반올림한 값 출력

 

 

9. DATE_FORMAT

  • DATE 형식의 값을 내가 원하는 형식으로 출력할 수 있게 해 줌
  • DATE_FORMAT(컬럼 명, '표현 형식')
    • %Y-%m-%d: 2020-02-02
 %Y

4자리 년도 


%m


숫자 월 (무조건 두자리 )


 %y


2자리 년도  


%c 


숫자 월(한자리는 한자리) 


 %M


긴 월(영문)
 
%d


일자 (무조건 두자리) 
   

 %e


일자(한자리는 한자리)

 

10. LEFT, RIGHT

  • 문자열의 왼쪽, 오른쪽 특정 글자수를 반환
  • LEFT(컬럼명, 2)
  • RIGHT(컬럼명, 2)

 

11. SUBSTRING

  • 문자열의 특정 부분을 반환
  • SUBSTRING(문자열, 시작위치, 길이)
  • 시작위치는 0부터 시작

 

12. HAVING

  • GROUP BY 한 결과에 조건을 달고 싶을 때 사용
  • 계산된 결과에 대한 조건 달고 싶을 때도 and 대신 이걸 써야 한다

 

13. UNION

  • 하나의 SELECT 결과와 또 다른 하나의 SELECT 결과를 합칠 때 사용
  • 각 SELECT 결과의 컬럼명과 데이터 타입이 같아야 UNION이 가능함
  • 내부적으로 중복된 데이터는 출력하지 않음
  • 중복된 데이터까지 출력하고 싶으면 UNION ALL을 사용하면 됨

 

14. IS NULL

  • 해당 값이 NULL값인지 아닌지 확인
  • WHERE I.ANIMAL_ID IS NULL

 

15. DISTINCT

  • 중복되는 행 있을 때 중복 행 빼고 출력해줌
  • select 맨 앞에 써 주면 됨

 

16. LIKE

  • 특정 문자열 조건을 줄 수 있다.
  • like 'abc%' 은 abc로 시작하는 문자열을 의미
  • like '%abc' 은 abc로 끝나는 문자열을 의미
  • like '_abc' 은 네글자중 뒤 세글자가 abc인 문자열을 의미

'SQL' 카테고리의 다른 글

MYSQL JOIN  (0) 2023.06.10