일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sqld 시험 정리
- 컴포지션과 집합
- 빅분기
- 작업 1유형
- 주말도 식지않아
- flutter 믹스인
- 주말도 한다
- 앱개발 가보자고
- rdbms nosql 차이
- 작업 2유형
- null check 연산자
- 빅데이터 분석기사
- 오늘은 1일 2쿼리
- MySQL
- FLUTTER
- my_sql
- 빅분기 캐글놀이터
- ?. ?? ! late
- 빅분기 1유형
- 빅분기 판다스 100제
- SQL
- 빅분기 필기 pdf
- late 키워드
- mysql mongo 성능 비교
- 모델 학습 및 예측
- 빅분기 필기
- 1일 1쿼리
- 주말에도 1일 1쿼리
- null safety
- null 억제 연산자
- Today
- Total
목록데이터 관련/SQL - 1일 1쿼리 (21)
subindev 님의 블로그

현재 Mybatis를 사용하여 진행중인 'A+ 마켓 플러터 앱 프로젝트' 에서 사용된 쿼리입니다.Quiz) 채팅방 Id를 이용하여 최근 메시지 30개를 포함한 채팅방 정보 SELECT c.id AS chatRoomId, tpi.uuid_name AS productThumbnail, p.product_name AS productName, p.price AS price, p.is_negotiable AS isNegotiable, p.id AS productId, u.id AS userId, u.name AS ..

채팅방 조회 쿼리 최적화 방법상황 : 현재 RDBS(MySQL)을 이용하여 데이터베이스를 설계함. 채팅방 아이디를 이용하여 아래의 DTO를 조회해아함.쿼리를 하나로 작성하는 것과 여러 개의 쿼리로 나누어 실행하는 것 중 어떤 것이 더 성능적으로 유리할까?하나로 작성할 때, JOIN 후 limit을 거는것과 limit을 건 서브쿼리와 JOIN 하는 것에 차이가 있을까?1. DTO 구조private int chatRoomId;private ProductCardDTO productCard;private List participants;private List messages; // TODO : Message - Pagination 2. 성능 최적화를 위한 접근 방식1️⃣ 조인 후 LIMIT 걸어 30개 추출 (..

Quiz 1) 현재 재직중인 사람들 중, Customer Service 부서의 Engineer 직원들의 수를 구하시오.SELECT d.dept_name AS '부서 이름', t.title AS '직급 명', count(t.emp_no) AS '직원수 'FROM dept_emp de JOIN departments d ON d.dept_no = de.dept_noJOIN titles t ON t.emp_no = de.emp_noWHERE d.dept_name = 'Customer Service'AND t.title = 'Engineer'AND t.to_date = '9999-01-01';

Quiz 1) 1월 생일자들의 이름, 현재 부서, 직책을 조회하시오.SELECT CONCAT(e.first_name, ' ', e.last_name) AS '이름' , d.dept_name , t.titleFROM employees eJOIN dept_emp de ON de.emp_no = e.emp_noJOIN departments d ON d.dept_no = de.dept_no JOIN titles t ON t.emp_no = e.emp_noWHERE date_format(e.birth_date, '%m') = 01AND de.to_date='9999-01-01'AND t.to_date='9999-01-01';

Quiz 1) 각 부서별 현재 재직중인 인원수를 계산하시오.SELECT dept_name AS '부서 이름', count(emp_no) AS '인원 수' FROM departments AS dJOIN dept_emp AS de ON de.dept_no=d.dept_noWHERE de.to_date = '9999-01-01'GROUP BY de.dept_no ;

Quiz 1) 프린트를 구매한 회원들이 산 제품들을 출력하시오. (프린트 제외) SELECT c.customer_id, c.name, p.name AS most_purchased_product, COUNT(od.product_id) AS product_countFROM customers AS cJOIN orders AS o ON c.customer_id = o.customer_idJOIN orderdetails AS od ON o.order_id = od.order_idJOIN products AS p ON p.product_id = od.product_idWHERE c.customer_id IN ( SELECT DISTINCT o.customer_id FROM o..