예제로 익히는 SQL _ 1회차
- DATA, DB, QUERY, SQL 기본 개념을 숙지합니다.
- SQL 의 작성순서 및 작동순서를 이해합니다.
- SQL 기본 구조 :SELECT, FROM 을 이용한 쿼리문을 작성합니다.
- 중복값을 제거하는 DISTINCT 함수를 숙지합니다
데이터는 문자, 숫자, 이미지, 영상, 음성 형태의 "정보"
흔히 우리가 이용하는 카카오톡을 연산해보면 이해가 쉬울 거에요. 이러한 정보를 기반으로, 컴퓨터는 데이터(정보)를 인식하고, 저장하게 됩니다.
데이터 저장차고는 DB (DataBase)
저장된 데이터의 모음을 DB 라고 생각해주세요. 카카오톡으로 지난 메시지 전송내역을 확인하거나, 은행 app 을 통해 일별 통장잔고를 확인하는 것이 곧 'DB'에 저장된 데이터를 확인한다' 는 의미 입니다.
DB를 효율적으로 관리해주는 DBMS(DataBase Management System)
DB에 접근하기 위해서 소프트웨어, 즉 DBMS 를 설치해야 하는데요. DBMS란, DB 의 규칙성 및 정합성을 부여하여, 데이터 등록/정리/검색이 용이하돌고 하는 Software system 입니다.
이러한 DBMS 의 데이터 저장방식 (=모델) 은 크게 관계형, 계층형, 망형 으로 나뉘는데요. 가장 널리 사용 되는 저장방식은 "관계형" 으로 그 최소단위를 테이블로 약속했어요. 테이블은 하나 이상의 열(Columm, 세로) 과 행(row, 가로) 으로 이루어져 있습니다.
우리가 자주 사용하는 엑셀을 떠올려보면, 이해가 쉬울거에요.
계층형 | 관계형 | 망형 | |||
상하 종속적인 구조 최상위 계층의 데이터 부터 검색하는 구조 데이터 저장 후 그 구성을 변경하기 어려움 |
행과 열로 이루어진 2차 원의 구조 계층형, 망형 구조가 발전된 형태 데이터 구성 변경 가능 데이터 복구 가능 정규화를 통해 중복제거 및 이상치 제거 가능 |
네트워크상의 노드 형태로 표현한 구조 서로 대등한 관계구성 관계성을 모두 이해한 상태에서만 질의어 작성이 가능 |
SQL 의 작동순서 및 작성 순서
작동 순서
- SQL 이 내부적으로 인지하고 작동하는 순서는 아래와 같습니다.
FROM - ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DESTINCT -> ORDER BY - 테이블을 확인한 후, 조인 조건을 확인하고, 그 조인 후 추출 조건을 확인ㄴ해요.
- 그 뒤로 데이터 그룹화, 추출, 중복제거 후 마지막으로 데이터를 정렬해요.
- 작동순서를 꼭 이해하고 가야하는 이유는 SQL 구문 작성 후 에러가 발생했을 경우, 문제를 해결 하는데 시간이 오래 걸리기 때문입니다.
작성순서
- SQL 의 문법 작성 순서는 아래와 같아요.
- SELECT -> FROM - > WHERE - > GROUP BY - > HAVING -> ORDER BY
- 오늘의 SQL 의 가장 기본 문법인 SELECT 와 FROM 을 사용한 예제를 풀어볼게요.
SELECT 문을 사용 하여 테이블의 값 (=열, 컬럼, 필드라고도 불려요 ) 를 선택할 수 있습니다.
아스테리크 (*) 기호를 사용하여 모든 컬럼값을 일일히 명시하지 않고 추출할 수 있어요.
FROM 절은 레코드를 선택할 테이블의 이름을 명시합니다. MYSQL 에서 구문 마지막은 세미클론(;) 으로 끝내야 합니다. 이를 사용하면 다수의 SQL 을 작성할 떄, 실행하고 싶은 SQL 구문에 마우스 커서를 두고 ctrl + Enter 버튼을 누르면 해당 SQL만 실행 됩니다.
SQL
-- 모든 컬럼을 조회할 경우
SELECT *
FROM 테이블 이름 ;
-- 특정 컬럼을 조회할 경우
SELECT 컬럼이름, 컬럼이름
FROM 테이블 이름 ;
-- 특정 컬럼을 중복없이 조회할 경우
SELECT DISITICT 요일
FROM 테이블 이름