Data/DB

SQL(Structured Query Language) 2 : 키워드,연산자,함수

뚱요 2021. 10. 30. 00:00
반응형

1. 키워드

 

NULL

  • 어떠한 값도 가지고 있지 않음
  • 연산해도  NULL
  • join 에서여집합 부분에는 없는 정보는 NULL로 대체

DESC table 테이블 구조 확인(describe의 앞 4자 따옴)

desc table;

*(asterisk) 

SELECT * FROM 테이블;

모든 어트리뷰트를 선택

자주 사용하지 않음, 실제 서비스에서 DB테이블은 많기 때문에 매번 모든 어트리뷰트의 레코드 출력

Alias

테이블, 칼럼에 alias지정

개발 생상성 향상, 유지보수 도움 

SELECT count(*) as 합계 FROM 테이블;

LIMIT [시작=0, ] 가져올 데이터 갯수  

ROWNUM 오라클 

가져올 데이터 갯수를 지정하여 필드 개수 제한하며 기본으로 0번째부터 가져옴

SELECT *  FROM 테이블 LIMIT 1,10;
--1번째 데이터부터 10개 가져오기
 

SQL Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

DISTINCT

중복된 행 제거하여 유일한 값만 갖는 행 출력

SELECT DISTINCT attr1  FROM 테이블;

중복 제거, 중복이 있어도 다른 쪽 컬럼의 값이 다르면 다르게 취급

 

2. 연산자(Operators)

 

산술 연산자(Arithmetic Operators)

  • + 더하기
  • - 빼기
  • * 곱하기
  • / 나누기
  • % 나머지
    • +=, -=, *- ,/=, %= 도 가능

비교 연산자(Comparison Operators)

  • =            같다
  • !=, <> , ^=  같지 않다,다르다
  • >,>=  크다(초과), 같거나 크다(이상)
  • <,<=  작다(미만), 같거나 작다(이하)

 

논리 연산자(Logical Operators)

  • ALL 모두 만족해야 참(AND)
    •  > ALL   값들 중 최대값 보다 크면 결과를 리턴( 모든 값들보다 커야하므로  최대값보다 커야함)
       < ALL   값들 중 최소값 보다 작으면 결과를 리턴 (모든 값들보다 작아야 하므로 최소값보다 작아야함)
       = ALL   모든 값들과 같아야 결과를 리턴  , 값이 하나일 때만 가능
       <> ALL   모든 값들과 다르면 결과를 리턴
       
  • ANY 하나라도 만족하면 참(OR) 
    •  = ANY   하나라도 만족하는 값이 있으면 결과를 리턴  , IN 과 동일
       > ANY   값들 중 최소값 보다 크면 결과를 리턴
       < ANY   값들 중 최대값 보다 작으면 결과를 리턴
       <> ANY   모든 값들 중 다른 값만 리턴 ,값이 하나일 때만 가능
  • IN (A,B)
    • 컬럼=A OR 컬럼=B , =ANY ()와 동일
    • 서브쿼리도 올 수 있음
  • EXISTS(서브쿼리) IN과 동일하게 존재 여부 확인하면 서브쿼리로만 가능
  • AND && 앞, 뒤 조건 모두 참
  • OR ||      앞, 뒤 조건 중 하나라도 참
  • NOT  불리언 값을 반대로 바꿈
    • NOT BETWEEN  a AND b 값 사이에 있지 않은 값
    • NOT IN (A,B)           해당 값들과같지 않다.
    • IS NOT NULL   NULL이 아닌 값 
  • BETWEEN A AND B  A이상 B이하 사이의 값
    • 컬럼 >=A AND 컬럼<=B와 동일
  • LIKE 특정 문자가 포함된 문자열 찾기
    • wildcard 
      • %  0개 이상의 문자
      • _  한개의 단일 문자
  • SOME

3. 내장 함수

지정한 어트리뷰트에 함수 적용

  • 단일행 함수 하나의 출력값을 리턴하는 함수
    • 문자:
      • LOWER('string') 소문자 변환
      • UPPER('string')  대분자로 변환
      • SUBSTR('string', 시작, 끝) 시작부터 끝 위치의 인덱스만 추출
      • LENGTH('string')  문자열 길이
      • LTRIM('string')/RTRIM('string') 왼쪽/오른쪽 기준으로 공백 제거
      • ASCII('A') 문자열을 아스키 코드로 변환  <-> CHAR()
      • CHAR('65') 문자열을 아스키 코드로 변환 <-> ASCII()
    • 숫자: EXP,LOG,LN,POWER, SIN,COS,TAN
      • ABS 절대값
      • ROUND( , n) 소수점 자리 n번째에서 반올림
      • FLOOR() 내림
      • CEIL() 올림
      • TRUNC( , n) 소수점 자리 n번째에서 내림
      • MOD(A,B) A를 B로 나눴을때 나머지
    • 날짜:
      • SYSDATE 현재 년월일시분초 출력
        •  YYYY/MM.DD HH24:MI:SS 형식으로 표현함
        • 2021/10/19 12:00:00
        • 연산가능
          • SYSDATE-1 어제 (하루 빼기)
          • SYSDATE-(1/24/60/60)*30 현재로 30초 전
      • EXTRACT(인자)
        • YEAR FROM SYSDATE 현재 년도 출력
        • MONTH FROM SYSDATE 현재 월 출력
        • DAY FROM SYSDATE        현재 일 출력
    •  변환:
      • 명시적
        • TO_NUMBER 숫자형 출력
        •  TO_CHAR 문자열 출력
          • TO_CHAR(SYSDATE, YYYY) => 2021
        • TO_DATE 날짜형 변환
    • NULL 처리
      • NVL(값, 출력값) 값이 NULL인경우 출력한 값으로 출력
      • NULLIF( a,b ) 두 문자열이 다르면 첫 문자열 출력, 같으면 NULL
      • COALESCE(인자...) 여러 인자 중 NULL이 아닌 첫번째인자 출력
  • 집계 함수 
    • 그룹 계산에 사용 가능
    • COUNT 갯수
      • 검색한 결과의 데이터의 개수를 가져오는 내장함수 NULL인 데이터는 제외
      • count(*) 보통 이 방식을 사용하여 NULL데이터 제외되는 경우 방지
    • SUM
    • AVG 평균
    • MAX, MIN 최대,최소값
    • STDDEV 표준편차
    • VARIAN 분산
반응형