
스프링 프로젝트를 진행하다보니 SQL에 대한 이해가 부족한 것 같아 신청했던 프로그래머스 'DB/SQL 기초' 코스 6주라는 과정이 길다면 길고 짧다면 짧았는데 생각했던 것보다 많이 배워가는 것 같당! 전체 학습자 진도률보다 내 진도률이 더 빠르면 뭔가 쾌감이 느껴진다..ㅎㅎ 오늘이 수강 마지막 날인데, 블로그 후기 이벤트를 한다길래 요로코롬 짧은 회고록을 쓰려고 한다! ✔️ 학습 방법 매주 정해진 분량의 강의가 제공되고 해당 강의를 수강하면 되는 간단한 방식이다! 강의는 이론 + 실습으로 구성되어 있고 실습에는 ERD 설계, SQL 코딩테스트 문제 등 다양하게 구성되어있다! 개인적으로 블로그에 해당 주차에 배운 내용을 정리하기도 했다! (백준 장학금 챌린지 중이어서ㅎㅎ) https://uijin.tis..

📌 MySQL (재)설치 하는 방법 https://github.com/appkr/l5code/issues/4 OS X에서 MySQL을 잘못 설치했을 때 다시 설치하는 방법 · Issue #4 · appkr/l5code 홈브루로 로컬 OSX 컴퓨터에 설치한 MySQL 데이터베이스를 재설치하는 방법입니다. 479 페이지의 MySQL 설치 후 mysql_secure_installation을 실행하는 부분의 주의사항을 읽지 못하신 독자분들이 있는 것 github.com https://judynewyork.tistory.com/431 MacOS 에서 mysql 설치하기 출처: https://github.com/helloheesu/SecretlyGreatly/wiki/맥에서-mysql-설치-후-환경설정하기 맥에서 ..

📌 서브쿼리 : SQL문 (주로 SELECT문)안에 포함되는 SELECT문 - 메인쿼리 / 서브쿼리 ✔️ 서브 쿼리가 가능한 위치 ▪️ 검색문(SELECT문) - WHERE절 (WHERE절 서브쿼리) - SELECT절 (Scalar 서브쿼리) - FROM절 (Inline View) - HAVING절 - ORDER BY절 ▪️ 갱신문 - INSERT문의 VALUES절 - DELETE문의 WHERE절 - UPDATE문의 SET절 ❗ 서브쿼리 사용시 주의사항 1️⃣ 컬럼 참조의 제한 : 일반적으로 서브쿼리는 메인쿼리의 컬럼을 참조할 수 있지만, 메인 쿼리는 서브쿼리의 컬럼을 참조할 수 없음 (메인쿼리에서 볼 때, 서브쿼리는 블랙박스) : but FROM절 서브쿼리의 경우, 메인쿼리는 Inline view의 컬..

진도 잘 맞춰서 하는 중이라 뿌듯하당🔅 📌 다중 테이블 검색문 ✔️ 집합 연산자 (UNION, INTERSECT, EXCEPT) : 형식이 같은 두 개의 테이블(질의 결과)를 하나로 합함 : 두 테이블의 튜플을 한 테이블로 모음 : 합집합, 교집합, 차집합 연산에서 Union compatible 제약조건이 존재 - 컬럼 개수가 동일 - 동일 위치에 존재하는 컬럼의 데이터 타입이 상호 호환 가능 💁🏻♀️ 집합 연산자, 언제 사용하죠? 1️⃣ 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합칠 때 2️⃣ 서로 다른 테이블에서 얻은 유사한 형식의 결과를 합칠 때 SELECT FROM ... UNION [DISTINCT|ALL] | INTERSECT | EXCEPT -- DISTINCT가 디폴트! SELE..

📌 단일 테이블 검색문2 ✔️ GROUP BY절과 HAVING절 (in SELECT) : GROUP 절은 기준 컬럼 값에 따라, 튜플을 그룹별로 묶는 기능을 제공 : HAVING 절을 추가하여, 원하는 특정 그룹만 선택 가능 : 보통 집계 함수와 함꼐 사용해서, 그룹별 통계치를 생성 1️⃣ 집계 함수 : 다중행 내장 함수의 한 형태 (입력은 다중행, 출력은 단일값) : SELECT 절에서 새로운 컬럼으로 사용하고 HAVING절에서 그룹 조건식에 사용 COUNT(*) # 전체 행의 개수(PK 컬럼값의 개수) COUNT([DISTINCT] zjffja) # NULL값을 제외한 컬럼값의 개수 SUM(컬럼) AVG(컬럼) # FLOOR(AVG(...))를 하면 평균의 버림값 MIN(컬럼) MAX(컬럼) STDD..

백준 장학금 챌린지 목표 중 하나인 SQL/DB 강의 수강을 위해 수강한 내용을 블로그에 정리하기로 했다! 📌 관계 데이터 모델과 관계 연산자 ✔️ 관계 데이터 구조 ▪️ 기본 개념 - 모든 데이터를 테이블로 표현하여 저장 ▪️ 릴레이션(relation) - 테이블을 릴레이션이라 함 - 릴레이션은 속성(attribute)으로 구성 (원자값 or NULL값) - 다중값 속성(리스트) 허용X ▪️ 관계 데이터베이스 (Relational Database, RDB) ▫️ 스키마 - 관계 스키마 = { 릴레이션 스키마 } = { 테이블 } (ex. '대학' 관계 스키마 = { 학생, 과목, 등록 }) ▫️ 데이터 - 관계 데이터베이스 = { 릴레이션 인스턴스 } = { 튜플 } ✔️ 관계 제약 ▫️ 건전한 상태 ..