데이터베이스와 sql

SQL 입문, 05장 다양한 SQL 함수 사용하기(1)

_Jin_ 2024. 2. 18.

https://www.youtube.com/playlist?list=PLG7te9eYUi7usbPInfbh24eE3lsbjGxRw

 

Do it! SQL 입문

굵직한 글로벌 기업의 현직 데이터베이스 전문가가 20년간의 기업 실무와 강의 경험을 아낌없이 담았습니다! 실제 나스닥 주식, 국가 통계 포털의 데이터베이스로 현업에서 바로 사용 가능한 표

www.youtube.com

< 이지스 퍼블리싱의 ' Do It ! SQL 입문 ' 강의를 학습하며 정리합니다.>

 

문자열 함수

 

( 1 ) Concatenation Strings

 - 연결 연산자( + )를 사용하여 두 문자열을 연결 할 수 있음.

    ex ) 

    Q ) 연결 연산자를 통해 합한 문자열을 출력함에 만약 Null값이 포함되었다면 ?
    ex )  select symbol + N'의 Industry는 ' + Industry + N'입니다. ' from nasdaq_company where symbol = 'DBA'
         < nasdaq_company 테이블의 symbol 값에는 DBA값이 없다는 가정 >

            결과는 'NULL' 이다. ( NULL 값은 아무런 데이터에 포함되지 않기에, 연산을 하여도 계속 NULL이 발생


( 2 ) CONCAT

 - 숫자나 문자를 인수로 사용하여 자동으로 연결
 - 출력값은 항상 문자열로 반환
   
    ex )

     Q ) 연결 연산자를 통해 합한 문자열을 출력함에 만약 Null값이 포함되었다면 ?

    ex ) select symbol + N'의 Industry는 ' + Industry + N'입니다. ' from nasdaq_company where symbol = 'DBA'
         < nasdaq_company 테이블의 symbol 값에는 DBA값이 없다는 가정 >

            결과는 ' DBA의 Industry는  입니다. ' ( NULL값이 공백으로 처리되며 문자열로 출력 ) 


( 3 ) ISNULL

 - ISNULL은 두 개의 매개변수가 필요하며, 검사할 값 & 값이 NULL일 경우 대체할 값이 필요하다. 

    ex )


( 4 ) COALESCE

 - 여러 매개변수 사용이 가능하며, NULL이 아닌 첫번째 값을 반환
 
    ex )


( 5) 기타 함수( TRIM, REPLACE, REVERSE ) 


- TRIM ( 공백 제거 ) 


 - REPLACE( 특정 문자열을 대체 )


 - REVERSE

 

 

 

날짜 함수 ( 자주 사용 )

 

( 1 ) GETDATE

- 서버의 현재 시간을 반환한다. 


( 2 ) DATEADD 

 - 날짜를 더하거나 뺄 수 있다. DATEADD(<date part>, <number>, <date>)형식으로 사용한다.  

 ♣ DATE PART



( 3 ) DATEDIFF

 - 두 날짜의 차이를 반환한다. 



( 4 ) 날짜 및 시간 표현 방식 변환( CONVERT )


 - 예를들어 나라마다 날짜나 시간을 표현하는 방식이 다를 수 있다. 그리고 이처럼 다른 방식으로 날짜나 시간의 포맷을 변환할 필요가 있을 경우에 사용한다. 

→ 날짜 포맷


→ 시간 포맷

 
# 이처럼 설정된 포맷 타입을 선택하여 원하는 형식으로 변환한 표현이 가능하다. 


 → last_creawel_date의 데이터를 120번, 111번, 112번 형식으로 변환하여 표현하겠다.  

 

 

집계 /그룹 함수 ( 자주 사용 )

 

앞에서 GROUP BY 함수에 대해서 알아봤었다. 
( GROUP BY 함수는 특정 칼럼 안에 같은 값을 지닌 행끼리 하나의 그룹으로 엮어서 '집계'할 수 있도록 만들어 주는 문법이다. )

이 때, GROUP BY 함수와 함께 사용되는 함수에 대해서 알아보자.


♣ 집계 함수 

 → GROUP BY와 함께 집계함수 사용 예시

    나스닥 데이터 프레임에서 산업칼럽에 같은 값끼리 그룹화를 진행한 뒤에 close_price에 대한 집계 함수를 사용

     결과 출력




♣ 그룹 함수 


→ GROUP BY와 함께 그룹함수 사용 예시


 
결과 출력 ( 빨간 상자에서 나타난 차이가 무엇인지 고려해보자 )

 

댓글