Re:제로부터 시작하는 갓생
[TIL] 24/12/02 SQL 본문
Live Session
1~2주차
< 1주차 강의 내용 >
Query: DB에 질문을 해서 알고 싶은 정보를 얻는 방법
SQL: Structured Query Language 구조화된 질문 언어
기능이나 역할에 따라 4가지로 구분-> DDL, DCL, TCL, DML
데이터 분석-> DML(Data Manipulation Language)
주로 기업에서 Select 사용하므로 앞으로 다룰 예정
Data
정의: 모든 정보를 일컬음
종류: 구조화, 반구조화, 비구조화
- 구조화(Structured Data): 표 형식으로 저장, 검색용이, 관계형 DB의 정보
- 반구조화(Semi-Structured Data): 일정한 형식은 있으나 불완전한 표 형태
- 비구조화(Unstructured Data): 형식이 없고 분석이나 저장이 어려운 데이터
Table
정의: 데이터를 저장하는 기본단위
구성: 행(Row 가로방) 열(Column 세로방향) -> Excel 표와 유사
RDBMS(Relational Data Base Management System): DB를 효율적으로 관리하는 관계형 SW
코딩순서: SELECT → FROM → JOIN → ON → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT
실행순서: FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT
having: group by와 집계함수가 끝난 후 나옴
Alias: 별칭
MySQL & DBeaver 설치 및 프로젝트 자료 인입
< 2주차 강의 내용 >
SQL코드 작성 유의법
소문자 사용
스네이크 케이스: 단어 사이를 밑줄(_)로 구분
예약어와 공백 피하기
약어 사용을 피하고 풀어쓰기
단일 줄 주석
-- 전체 사용자 데이터를 조회
# 전체 사용자 데이터를 조회
SELECT *
FROM users;
여러 줄 주석
/* 특정 사용자 데이터를 조회
SELECT user_name, email
FROM users
WHERE user_id = 1;
*/
Null
정의: 값이 없다 를 의미. 아무 값도 존재하지 않음
특징: 비교할 수 없는 값이므로 IS NULL or IS NOT NULL 조건 사용
-- 일반적인 비교연산은 NULL에서 작동하지 않습니다.
SELECT *
FROM 테이블명
WHERE 컬럼명 = NULL; -- 작동하지 않음!
-- NULL 값만 선택
SELECT *
FROM 테이블명
WHERE 컬럼명 IS NULL;
-- NULL이 아닌 값만 선택
SELECT *
FROM 테이블명
WHERE 컬럼명 IS NOT NULL;
연산결과
SELECT 컬럼명 + 1 AS 결과값
FROM 테이블명
WHERE 컬럼명 IS NULL;
-- 결과는 NULL
Not Null
정의: 특정 컬럼에 NULL 값 나오지 않게 설정하는 제약 조건
SELECT
정의: 원하는 데이터를 조회할 수 있는 명령어
특징: 키워드는 대소문자 구분X, 모든열 조회시 select * 기재
FROM
정의: 데이터를 조회할 테이블 지정
특징: 각 구문의 마지막은 ;으로 마무리
'Daily > TIL' 카테고리의 다른 글
[TIL] 24/12/04 SQL (0) | 2024.12.04 |
---|---|
[TIL] 24/12/03 SQL (0) | 2024.12.03 |
[WIL] 1주차_11/28~11/29 (0) | 2024.11.29 |
[TIL] 24/11/29 SQL (3) | 2024.11.29 |
[TIL] 24/11/28 SQL (0) | 2024.11.28 |