❓ Question ❗ Answer SELECT outs.animal_id, outs.name FROM animal_outs outs LEFT OUTER JOIN animal_ins ins ON outs.animal_id = ins.animal_id WHERE ins.animal_id IS NULL ORDER BY outs.animal_id;📌 Discussion left outer join으로 key인 animal_id를 기준으로 ins의 모든 데이터를 추출 where에서 is null로 입양간 데이터만 있는 레코드를 추출
❓ Question ❗ Answer # Subquery - scalar 활용 SELECT food_type, rest_id, rest_name, favorites FROM rest_info WHERE favorites IN (SELECT MAX(favorites) FROM rest_info GROUP BY food_type) GROUP BY food_type ORDER BY food_type DESC # Subquery - inner view 활용 SELECT info.food_type, info.rest_id, info.rest_name, info.favorites FROM rest_info info INNER JOIN (SELECT food_type, MAX(favorites) favorites FR..
❓ Question ❗ Answer SELECT member_id, member_name, gender, DATE_FORMAT(date_of_birth,'%Y-%m-%d') FROM member_profile WHERE MONTH(date_of_birth) = '03' and gender='W' and tlno IS NOT NULL ORDER BY member_id;📌 Discussion DATE_FORMAT으로 출력되는 날짜데이터의 형식을 변경 가능
❓ Question ❗ Answer SELECT ROUND(AVG(daily_fee)) FROM car_rental_company_car WHERE car_type = 'SUV' GROUP BY car_type;📌 Discussion where로 suv만 필터링 group by로 car_type 그루핑 avg로 그루핑한 car_type에 대한 daily_fee 평균 round로 소수 첫째자리에서 반올림
❓ Question ❗ Answer SELECT TRUNCATE(price,-4) PRICE_GROUP, COUNT(*) PRODUCTS FROM product GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP📌 Discussion ABS(숫자) : 절대값을 구합니다. CEIL(숫자) : 값보다 큰 정수 중 가장 작은 정수를 구합니다. 소수점 이하 올림을 의미합니다. FLOOR(숫자) : 값보다 작은 정수 중 가장 큰 정수를 구합니다. 소수점 이하 버림을 의미합니다. ROUND(숫자, 자릿수(일의자리 = -1, 십의자리 = -2, 백의자리=-3, 천의자리=-4, ...)) : 자릿수를 기준으로 반올림합니다. TRUNCATE(숫자, 자릿수(일의자리 = 0, 십의자리 = -2, 백의..
❓ Question ❗ Answer SELECT book_id, DATE_FORMAT(published_date,'%Y-%m-%d') FROM book WHERE YEAR(published_date) = '2021' and category LIKE '%인문%' ORDER BY published_date; 📌 Discussion - date_format으로 날짜 형식 맞추기 - year로 연도만 추출