| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- ppt 다이어그램
- 30일 글쓰기
- CSS
- 웹기초
- 엑셀 프린트하기
- 카카오뷰 성장
- 위드굿즈
- 원씽
- 카뷰 수익 인증
- 엑셀 기초 함수
- express.js 환경 셋팅
- HTML
- git 협업하기
- 책 원씽
- Axios 라이브러리
- ppt 도형 색
- 성공비법
- 실시간 통신
- 이석증
- Git 팀 작업
- 카카오뷰 부업
- 성공에 대한 거짓말
- 카카오뷰 탭이동
- 카카오뷰 온라인 수익화
- 카카오뷰 초보
- 위드굿즈 굿즈샵
- 카카오뷰 수익
- 도서 원씽
- 자기관리
- 카카오뷰N잡
- Today
- Total
김데이의 개발공부
[ TIL ] Day 53 - SQL 데이터 분석 기초 문법 : 데이터 조회 / 데이터 정렬 본문
[ TIL ] Day 53 - SQL 데이터 분석 기초 문법 : 데이터 조회 / 데이터 정렬
theday365 2025. 12. 9. 19:10🗓️ 수업 일자 : 2025.12.9
✨ 오늘의 수업 평가 : [ GOOD ] 가볍게 산책하듯 배움 🏞️☁️
어제 validation 파일 만들때 헤멘 덕분(?)인지
오늘은 validation 추가 작업 하면서, 오히려 이런 저런 아이디어들이 떠올라
재미있고 빠르게 작업이 끝났다!
Product / Article / Comment / User / RelateDB 에 대해 작업해야 하는데
Product 파트 하나밖에 못 끝냈지만, 다른 파트에 적용 할 수 있게 구조를 정리해서
다른 파트들은 예외인 부분만 일부 적용하면 금방 할 수 있을 것 같다! 😉👍🚀
-------------------
SQL 파트는 기초 파트만 배우기도 했고, 이미 API 작업 하면서 조회 할 때 썻던 방식들(?)이 많이 보여서
재미있게 따라갈 수 있었다~
터미널 창에서 작업하니까 뭔가 멋져보임 🤩🪄
👩💻 [개인 프로젝트] 오늘 작업 내용 💻
- Validation 적용 작업 (ing)
📝 오늘 배운 내용
- SQL 기초 문법
1. SQL 기초 문법
SQL 문법의 특징
- 하나의 테이블로 구분되고 그 안에 칼럼과 로우 요소로 구성
- 대소문자 구분 없이 사용이 가능하지만, SQL 문법은 주로 대문자로 표기함
- 쿼리 문 안에서 줄바꿈(엔터)는 자유롭게 사용 가능함
- 모든 쿼리의 끝에는 세미콜론으로 문장 끝맽음 해 주어야 함
- 주석은 '--' 를 사용하여 작성
SELECT id, name, price FROM products;
SELECT
id,
name,
email,
password,
profile
FROM users;
-- 주석 사용 방식

psql 데이터베이스 명령어 (Postgres의 전용 명령어들)
( PostgreSQL - SQL 데이터 베이스 중 한 종류 / psql - postgreSQL 의 클라이언트 역할)
1) psql postgresql://아이디:비밀번호@localhost:5432/데이터베이스이름
또는 psql -U 아이디 -h localhost -p 5432 -d 데이터베이스
: PostgreSQL의 클라이언트 psql 에 접속하기
2) \l : 내 계정에서 만들어 사용 중인 데이터베이스 리스트 확인 (list)

3) \d : 현재 접속한 데이터베이스의 하위 테이블 목록 확인
\d 테이블_이름 : 해당 테이블에 대한 필드 / 관계형 등 정보 확인
\dT : enum 테이블 확인하기
\dT+ : enum 테이블의 세부 항목까지 확인 가능


4) \c 데이터베이스이름 : 내 계정에 있는 데이터베이스 중 하나의 데이터베이스로 연결 (connect)

5) \i SQL파일주소/파일명 : SQL 파일 가져와서 실행하기

6) drop table 테이블명 : 만들어 둔 테이블을 삭제

7) exit : 데이터 베이스 나가기

SQL 기본 명령어
1) 신규 데이터 베이스 생성 명령어
CREATE DATABASE 데이터베이스이름;
CREATE DATABASE new_database;
-- 명칭은 underscore 기법으로 작성
2) 데이터 조회 명령어
-- 간단한 조회 작업
SELECT 조회할_컬럼_또는_값 FROM 테이블명;
SELECT id, name FROM products;
-- 특정 테이블의 전체 정보 조회
SELECT * FROM 테이블명;
SELECT * FROM products;
-- Where를 사용해 특정 조건 설정하기
SELECT * FROM 테이블명 WHERE 조건 작성;
SELECT * FROM products WHERE price > 10000;
-- 1) AND / OR : 조건 연결
SELECT * FROM products WHERE price > 10000 AND price <= 19000;
SELECT * FROM products WHERE category = "toy" OR category = "child";
-- 잘못 된 문법 : SELECT * FROM products WHERE category = "toy" OR "child"; 실행 안됨
-- 2) NOT : 예외 조건 설정
SELECT * FROM products WHERE NOT price > 20000;
-- 3) IS NULL / IS NOT NULL : NULL 값에 대한 조건 설정
SELECT * FROM products WHERE description IS NULL;
SELECT * FROM products WHERE description IS NOT NULL;
-- 4) IN : 여러 값 중 일치하는 값 가져오기
-- 만약 조건이 아래와 같이 4개여도, 부합하는 데이터가 2개 밖에 없다면 2개만 출력
SELECT * FROM products WHERE price IN (1000, 2000, 3000, 4000);
-- 5) LIKE / ILIKE 명령어에 %, _ 를 사용해 문자열 조건 작성
-- LIKE : 대소문자를 구문하여 문자열을 찾음
-- ILIKE : 대소문자 구분 없이 문자열을 찾음
-- % : 1개 이상의 문자열을 모두 생략
-- _ : 1자리의 문자열 생략
SELECT * FROM products WHERE originAdress LIKE '%,Korea';
-- Seoul,Korea / Incheon,Korea 포함
-- gyeonggi,korea / jeju,korea 미포함
SELECT * FROM products WHERE originAdress ILIKE '%,Korea';
-- Seoul,Korea / Incheon,Korea / gyeonggi,korea / jeju,korea 모두 포함
SELECT * FROM products WHERE tags LIKE '겨울_';
-- 겨울용, 겨울철 포함
-- 겨울바지, 겨울점퍼 미포함 => '겨울_ _'로 조회 가능
-- 6) BETWEEN : 두 개의 값 사이를 가져올 때 사용하는 명령어
[기본] SELECT * FROM products WHERE price > 10000 AND price <= 19000;
[BETWEEN] SELECT * FROM products WHERE price BETWEEN 10000 AND 19000;
3) 데이터 조회 정렬값 설정
-- ORDER BY 로 정렬 순서 지정하기
SELECT * FROM 테이블명 ORDER BY 조건 작성;
-- 기본값 : 오름차순
SELECT * FROM products ORDER BY price;
-- ASC : 내림차순 / DESC : 오름차순
SELECT * FROM products ORDER BY price ASC;
SELECT * FROM products ORDER BY price DESC;
-- 중복된 값이 있어 원하는 대로 순서가 나오지 않을 수 있어서
-- 마지막 값으로는 절대 중복되지 않을 값으로 정리
SELECT * FROM products ORDER BY price DESC, id DESC;
-- LIMIT : 가지고 올 갯수 설정
-- OFFSET : 몇개를 건너뛰고 가져올 지 설정
SELECT * FROM products ORDER BY price ASC LIMIT 10 OFFSET 2;
-- 가격을 내림차순(큰 숫자 부터) 한 뒤, 가장 큰 2개는 제외하고 그 다음 10개 목록 조회
-- DISTINCT : 고유한 값을 조회
SELECT category FROM products;
-- products 테이블의 모든 레코드에서 category 값 조회 결과
-- category
-- --------
-- doll
-- toy
-- toy
-- child
-- etc
-- toy
-- doll
SELECT DISTINCT category FROM products;
-- 고유한 category 값만 조회, 중복 된 값은 생략 됨
-- category
-- --------
-- doll
-- toy
-- child
-- etc
📃 내일은 뭘 배울까 🤔
- SQL 데이터 분석 심화 문법
'코드잇 Node.js(BE) 부트 캠프 > TIL (Today I Learn) 📑' 카테고리의 다른 글
| [ TIL ] Day 55, 56 - SQL 실습 : 초급 / 중급 문제 풀이 (0) | 2025.12.12 |
|---|---|
| [ TIL ] Day 54 - SQL 데이터 분석 : 집계, 그룹핑 & 조인, 서브 쿼리, AS & VIEW (0) | 2025.12.10 |
| [ TIL ] Day 52 - Multer 적용 방식 / 유효성 검사 validation (0) | 2025.12.08 |
| [ TIL ] Day 50, 51 - 실습 : 타입스크립트 셋팅 & 파일 적용 (0) | 2025.12.05 |
| [ TIL ] Day 48 & 49 - 디자인 패턴 / 코드 레벨 아키텍쳐 (0) | 2025.12.03 |