일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NoSQL
- nginx
- Doker
- git
- 쿠키(cookie)
- github
- SQL
- flask
- redis
- 도커
- 자료구조
- CS
- JWT
- 파이썬
- docker
- 장고
- viewsets
- Wil
- 코딩테스트
- 개발공부
- 오블완
- 티스토리챌린지
- 연습
- Python
- 아티클 스터디
- web
- django
- 세션(Session)
- ERD
- Til
- Today
- Total
목록SQL (13)
SteadyDrills
240806● 서브쿼리란?쿼리(Query) 결과를 쿼리(Query)에 다시 활용하는 것.즉, 서브쿼리(Subquery)란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다.서브쿼리는 소괄호 ()로 감싸서 작성하는 형태입니다. ● 서브쿼리를 사용하는 이유?1. 복잡한 쿼리의 단순화서브쿼리를 이용해서 복잡한 쿼리를 더 작게 나눠서 쿼리를 단순하게 만들 수 있다.▶쿼리의 가독성⬆️ 유지보수 효율⬆️ 2. 데이터 필터링 및 조건 확인서브쿼리는 기존 값으로 비교하기 힘든 상황에서 조건을 만족하는지 확인할 때 유용하다.특히 IN, EXISTS, ANY, ALL과 함께 사용하여 조건을 세밀하게 조정할 수 있다. ●서브 쿼리를 사용 가능한 곳SELECT 절FROM 절WHERE 절HAVING 절ORDE..

240802https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ● 컬럼 설계 1. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 CAR_ID와 평균 대여기간을 추출2. 그중에서 조건문으로 평균 대여기간이 7일 이상인 자동차만 나오게끔 필터링3. 평균대여기간은 소수점 첫 째 자리까지만 나오게끔 하고, 평균 대여 기간을 기준으로 내림차순 정렬, 평균 대여기간이 같으면 자동차 ID를 기준으로 내림차순 정렬.SELECT CA..
20240620조건에 맞는 사용자와 총 거래금액 조회하기https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr나의 답:SELECT U.USER_ID USER_ID, U.NICKNAME NICKNAM, SUM(B.PRICE) TOTAL_SALESFROM USED_GOODS_BOARD B LEFT JOIN USED_GOODS_USER U ON B.WRITER_ID = U.USER_IDWHERE B.STATUS = 'DONE'GROUP ..

20240614idnameregionratingjoin_date1르탄이한국13002019-06-152배캠이미국15002020-09-013구구이한국14002021-01-074이션이미국13502019-11-15lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해 주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야 해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)SELECT nameFROM lol_usersORDER BY rating DESC ;lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요SELECT nameFROM lol_usersORDE..

20240613문제:보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해 주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 나의 답:SELECT HOUR(DATETIME) HOUR, COUNT(ANIMAL_ID)"COUNT"FROM ANIMAL_OUTSWHERE HOUR(DATETIME) > '08:59' AND HOUR(DATETIME) 이 문제를 풀면서 'HOUR'함수를 처음 배웠다.TIMESTAMP 형식의 데이터 중 시간의 값만 도출하는 것으로 이런 식으로 데이터 값이 추출 된다. SQL은 원하는 정보를 꺼내 오는 것도 중요하지만, 필요한 정보만 간단하게 가공해서 가져오는 것..

20240612 문제의 조건: 두 테이블을 LEFT JOIN을 이용해서 JOIN 하고, POINT에서 NULL값을 0으로 표기하도록 컬럼값을 추출하 라. 나의 답:SELECT u.user_id, u.email, IFNULL(p.point,'0') "point" FROM users u LEFT JOIN point_users p ON u.user_id = p.user_id ORDER BY p.point desc ; 정답:SELECT u.user_id, u.email, COALESCE(p.point,0) as pointFROM users uleft JOIN point_users p ON u.user_id = p.us..

20240611 나의 답:SELECT DATE(created_at) "created_at", ROUND(avg(point)) "average_points"FROM point_users GROUP BY date(created_at) ; 정답:SELECT DATE(p.created_at) AS created_at, ROUND(AVG(p.point)) AS average_pointsFROM point_users pGROUP BY DATE(p.created_at); 상황 설명에서 말한 '날짜 별로' = group by cerated_at ,timestamp 형식(날짜와 시간을 모두 포힘)은 date로 날짜형으로 추출.반올림은 round를 사용해서 추출했다.