You& Data_Science & Life

SQL_2_basic query

SQL 사용을 위한 데이터 베이스 용어

  • 데이터 베이스 : 여러 사람에게 공유되어, 사용될 목적으로 관리되는 데이터 집합
  • 테이블(table) : 특정 종류의 데이터를 구조적 목록으로 구분한 것
  • 스키마(schema) : 테이블에 어떤 데이터를 어떤 ‘형식’으로 저장할 것인가를 정의한 것
  • 열 (schema) : 테이블을 구성하는 각각의 정보 (= field)
  • 행 (recod) : 데이터가 한 줄에 저장된 것

1. 기본 구조 및 Basic 문법

1) 데이터 베이스 선택

SHOW DATABASE -- 데이터 베이스 조회

1) basic 문법

SELECT '컬럼 이름'
FROM '테이블 이름'
WHERE '조건'
GROUP BY '그룹화할 컬럼'
HAVING '그룹화한 뒤 조건'
LIMIT '제한할 개수'

1) SELECT / FROM

  • SELECT [불러오고자 하는 대상 (Columns)]
  • FROM [찾을 대상이 있는 공간(Table)]
    -- HR 테이블에서, 'ID','GENDER','AGE' 변수를 불러와라.
    SELECT ID, GENDER, AGE
    FROM HR
    


2) ORDER BY

: 컬럼들을 특정 규칙에 맞춰서 정렬 (default : asc - 오름차순)

-- grade 오름차순 & ID 기준 내림차순 정렬
SELECT *
FROM EMP
ORDER BY GARADE ASC, ID DESC;


3) WHERE

: 조건문 추가

-- HR 테이블에서, 'ID','GENDER','AGE' 변수를 불러오며,
-- 이때, 성별은 남성이며 'AGE'는 60세 이상
SELECT ID, GENDER, AGE
FROM HR
WHERE 'GENDER' == 'male' & 'AGE' >= 60


4) GROUP BY

: 컬럼들을 특정 규칙에 맞춰서 그룹화함(Aggregate)

연습 sqlfiddle.com

  • 1) “1”번 유저의 모든 이벤트 로그를 확인.
    SELECT *
    FROM user_log
    WHERE user_id = '1';
    
  • 2) “1”번 유저의 이벤트별 로그 ‘횟수’를 계산
    SELECT user_id, event, event_id
    COUNT (user_id) AS 'event_cnt'
    FROM user_log
    WHERE user_id = '1'
    GROUP BY user_id, event, event_id;
    

Reference

[1] 비전공자를 위한 SQL