Coding Study(70)
-
Prisma /데이터베이스/ 3Tier의 개념
ORM이란 ?ORM은 Object Relational Mapping의 약자로, 한글로 풀면 객체-관계 매핑이다. 말 그대로 객체(Object)와 관계형 데이터베이스(Relational Database)의 테이블(Row)을 연결해주는 기술 또는 도구를 의미한다.우리가 자바스크립트나 자바, 파이썬 같은 언어로 작성한 객체를 데이터베이스의 테이블과 매칭시켜주는 역할을 한다. 개발자는 객체를 다루듯이 코드를 작성하면, ORM이 내부적으로 SQL 쿼리로 변환해 데이터베이스와 소통해준다. 이 덕분에 SQL을 직접 작성하지 않아도 데이터 조작이 가능해진다.데이터베이스데이터베이스는 데이터를 구조화하여 저장하고 효율적으로 관리할 수 있게 해주는 도구다. 대부분의 웹 애플리케이션은 사용자 정보, 게시글, 상품 정보 등 수..
2025.05.22 -
[SQL] 기타 팁
Null 값 다루기 COALESCE() 함수는 각 column 에 있는 값이 null 이면 대체하는 값으로 바꾼다.SELECT COALESCE(address,"@@@"), COALESCE(weight,"---"), COALESCE(height, "###")FROM member DISTINCT중복된 값은 제외하고 싶을때 DISTINCT 명령어 작성한다.-- 테이블이 가지고 있는 모든 국가SELECT DISTINCT country FROM accommodation; SELECT COUNT(DISTINCT country) FROM accommodation;
2025.05.21 -
[SQL] 서브 쿼리
서브쿼리 SQL 문 안에 SQL 문이 들어가는 경우 서브쿼리라고 하며 괄호를 꼭 써줘야 한다.SELECT i.id, i.name, AVG(star) AS Avg_starFROM item AS i LEFT OUTER JOIN review AS rON r.item_id = i.idGROUP BY i.id, i.nameHAVING avg_star review 의 갯수가 3개인 아이템을 반환하는 쿼리SELECT * FROM itemWHERE id IN(SELECT item_idFROM reviewGROUP BY item_id HAVING COUNT(*)>=3) AnyAny.가 WHERE 절에 사용될 때는, 서브쿼리의 결과에 있는 각 로우의 값 중 하나라도 조건을 만족하면 TRUE 를 반환>WHERE ..
2025.05.21 -
[SQL] JOIN
OUTER JOIN LEFT 테이블 기준 item.id 와 stock.item_id 일치값 합쳐서 보여주기 우측테이블 기준으로 하려면 RIGHT 를 하면 된다.SELECT item.id, item.name, stock.item_id, stock.inventory_countFROM item LEFT OUTER JOIN stockON item.id = stock.item_id joint 테이블 alias 붙이기 FROM 코드기준으로 위아래 코드 전체다 적용을 해야 한다.SELECT i.id, i.name, s.item_id, s.inventory_countFROM item AS i LEFT OUTER JO..
2025.05.21 -
[SQL]GROUPING
1. SELECT 2. FROM : 어느 테이블을 대상으로 할 것인지 결정3. WHERE : 해당 테이블에서 특정 조건을 만족하는 row 선별4. GROUP BY : grouping 기준대로 로우를 grouping5. HAVING : grouping 작업 후 생성된 그룹 중 특정 조건을 만족한는 그룹만 선별6. ORDER BY : 각 row를 특정 기준에 정렬7. LIMIT : ORDER BY 기준으로 상위 일부만 보여줌 GROUPING - SELECT 시에grouping 되지 않은 값을 넣으면 에러 발생됨 COUNT 등과 같은 집계 함수는 가능하다. - WHERE 이라는 함수가 있지만 기존 colum 만 가능 하고 새로생성된 grouping 한 column은 적용되지 않기 때문에 HAVIN..
2025.05.21 -
SQL 명령어 (CRUD 기준)
1. SELECT 2. FROM : 어느 테이블을 대상으로 할 것인지 결정3. WHERE : 해당 테이블에서 특정 조건을 만족하는 row 선별4. GROUP BY : grouping 기준대로 로우를 grouping5. HAVING : grouping 작업 후 생성된 그룹 중 특정 조건을 만족한는 그룹만 선별6. ORDER BY : 각 row를 특정 기준에 정렬7. LIMIT : ORDER BY 기준으로 상위 일부만 보여줌 accommodation 테이블 만들기CREATE TABLE accommodation ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, address TEXT NOT NULL, city VARCHAR(100) NOT N..
2025.05.19