MySQL

알고리즘(algo)/SQL

[SQL] 성분으로 구분한 아이스크림 총 주문량

참고: https://school.programmers.co.kr/learn/courses/30/lessons/133026 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 문제가 굉장히 길어서 어려워 보이지만 사실 별거(?) 아니다. 왜냐하면, 앞선 SELECT와 SUM/MAX/MIN 카테고리에서 미리 공부했기 때문이다. 조건을 다음과 같이 엮어보도록 하자. 1) 2개의 테이블을 합쳐보자 ((INNER) JOIN ~ ON) 2) 합친 테이블에서 sugar인지 fruite인지에 따라 GROUP을 묶자 3) TOTAL_ORDER라는 별칭으로 SUM 값을 나타내자 SELECT A.INGREDIENT_TYPE, SUM(B.TOTAL_ORDER) as TOTAL_ORDER FROM ICECREAM_INFO A JOIN..

알고리즘(algo)/SQL

[SQL] 가격이 제일 비싼 식품의 정보 출력하기

참고: https://school.programmers.co.kr/learn/courses/30/lessons/131115 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 가장 높은 가격의 생산 ID와 이름, 코드, 카테고리, 가격을 출력하면 된다. SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE FROM FOOD_PRODUCT WHERE PRICE = ( SELECT MAX(PRICE) FROM FOOD_PRODUCT ) 가격에 서브쿼리를 사용했는데, 해당 테이블에서 가장 비싼 아이템과 같은 가격을 가진 상품에 대해서 출력하게 했다. 생각해보니 출력하는 모든 정보는 FOOD_PRODUCT 컬럼의 전체 내용과 같으므로 SELECT *로 해도 될 것 ..

알고리즘(algo)/SQL

[SQL] 중복 제거하기

참고: https://school.programmers.co.kr/learn/courses/30/lessons/59408 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 같은 이름 즉, 중복되는 이름을 제거한 나머지 행의 개수를 COUNT하면 되는데 중복을 제거하여 조회하는 것은 DISTINCT를 사용한다. SELECT COUNT(DISTINCT NAME) as count FROM ANIMAL_INS 컬럼은 같지 않아도 된다고 해서 별칭을 안해줘도 되지만, 그냥 깔끔해보이고 싶어서 작성했다.. 화이팅 💪

알고리즘(algo)/SQL

[SQL] 서울에 위치한 식당 목록 출력하기

참고: https://school.programmers.co.kr/learn/courses/30/lessons/131118 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예시를 보게 되면, 두 개의 테이블을 합친 다음에 REVIEW_SCORE가 존재하는 서울 식당의 평균 점수를 출력하면서 나머지 식당의 ID와 이름, 음식 종류, 즐겨찾기, 주소를 출력하면 된다. 그렇다면 해야할 것은 다음과 같다. 1) 두 테이블을 합쳤을 때 서울에 해당하는 식당만 출력하기 2) 식당에서 리뷰 점수가 존재하고, 리뷰 평균 점수를 소수점 세 번째 자리에서 반올림하기 3) 평균점수와 즐겨찾기수를 기준으로 내림차순 정렬하기 SELECT REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, RO..

알고리즘(algo)/SQL

[SQL] 재구매가 일어난 상품과 회원 리스트 구하기

참고: https://school.programmers.co.kr/learn/courses/30/lessons/131536 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 위 예제와 같이 같은 상품을 2번 이상 구매한 유저가 있다면, 해당 유저의 USER_ID와 재구매한 PRODUCT_ID를 함께 출력하면 된다. SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(USER_ID) >= 2 AND COUNT(PRODUCT_ID) >= 2 ORDER BY USER_ID, PRODUCT_ID DESC 이럴때는 WHERE이 아닌 GROUP BY ~ HAVING절을 사용할 수 있다. WHERE는 그룹화 이전에 사용하는..

보안/LOS

[LOS] zombie_assassin

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 함수가 추가된 것을 확인할 수 있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id']) solve("zombie_assassin"); 이번 문제에서는 strrev() 함수와 이전 문제들에서 자주 보였던 addslashes 함수가 등장하는데, addslashes 우회는 알고 있기 때문에 strrev에 대해서 찾아보도록 하자. https://www.php.net/manual/en/function.strrev.php PHP: strrev - Manual It's faster and flexible than tianyiw function (comment #122953) www.php.net 해당 공식문..

dDong2
'MySQL' 태그의 글 목록 (3 Page)