Re:제로부터 시작하는 갓생

[TIL] 24/12/02 SQL 본문

Daily/TIL

[TIL] 24/12/02 SQL

기븜 2024. 12. 2. 15:21
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