[커널아카데미] 백엔드 12기 6주차 - SQL

jh5959·2025년 5월 5일
0

SQL

ch1 Introduction

SQL(Structured Query Language)
:구조화된 질의 랭귀지(문법)

RDB: 관계형 데이터베이스
DB(2차원 배열)는 하나 RDB(트리구조)는 하나를 쪼개고 관계맺음

테이블 = 객체배열
행 = 객체
key

  • pk:중복X ,행
  • fk: 참조키, 다른 테이블의 pk
    - 참조무결성체크
    - 테이블 간 관계

ch2 테이블 생성 및 데이터 조작(DML)

sql명령어

  • DML(데이터 조작어): insert, update, delete
  • DDL(데이터 정의어):create, alter, drop, rename 등

ch3 데이터 검색

DISTINCT - 중복행 제거

select distinct name
from s_dpet;

order by - 정렬 순서 지정

  • asc: 오름차순 기본값
  • desc: 내림차순

where - 특정 행 검색

select (distinct) 칼럼명 (alias)
from 테이블명
where 조건식
order by 칼럼이나 표현식(asc 또는 desc)

select distinct title, name
from s_emp
where title like '%부장' // 단어 뒤에 부장이 있는 것들
order by 1 desc , 2 asc //첫번 째 칼럼 내림차순, 두번째 칼럼 오름차순 

조건의 부정

  • != <> ^=
  • not between ~ and ~
  • not in
  • not like
  • is not null

ch4 Stored function

날짜형 함수

SELECT ADD_MONTHS(SYSDATE, -1) FROM DUAL;
SELECT SYSDATE - 1 FROM DUAL; -- YESTERDAY
SELECT SYSDATE + 1 FROM DUAL; -- TOMORROW
SELECT LAST_DAY(SYSDATE) FROM DUAL;
select sysdate from dual; -- dual은 dummy table, mysql은 SELECT NOW();

DUAL 테이블
: 오라클 기본 테이블
1행 1열짜리

____ |DUMMY|
__1__|  X  |

이번주 회고

  • 이번주는 SQL과 데이터 모델링 강의를 들었다
  • 지금 잘 하고있는지 모르겠다 공부하는게 쉽지 않다
  • 해야할 것과 신경써야 할 것이 너무 많아서 지친다
  • 잠이 부족해서 더 힘든것 같기도 한데 잠이 잘 안온다
  • 이번주는 좀 더 건강하게 살고싶다

0개의 댓글