DB/mysql

[sakila] 기본 쿼리 연습

  • -
반응형

mysql sakila database를 이용해서 기본 쿼리를 연습해보자.

 

#1

address에서 "Way"가 포함된 고객을 대상으로 이벤트를 진행하려고 한다. 대상 고객의 전화번호를 출력해보자. 단 대소문자를 구별함에 주의하자.

총 59건

 

#2

고객의 충성도를 높이기 위해 새로운 적립금 시스템을 도입하기로 결정했습니다. 이 시스템의 핵심은 고객이 각 결제 때마다 결제 금액의 10%를 적립금으로 받는 것입니다. 이 새로운 시스템을 지원하기 위해, 모든 결제 내역에서 결제 금액, 적립될 금액(결제 금액의 10%), 고객 번호, 결제 금액, 담당자 아이디를 출력하시오.

총 16044건

 

#3

영화의 등급에 따라 상세한 설명을 제공하는 조회를 필요로 합니다. 각 영화의 ID와 등급을 표시하되, 'G'는 'General Audiences', 'PG'는 'Parental Guidance Suggested', 'PG-13'은 'Parental Strongly Cautioned', 'R'은 'Restricted', 그 외의 경우는 'No One 17 And Under Admitted.'으로 분류하여 표시하는 SQL 쿼리를 작성해야 합니다.

총 1000건

 

#4

영화의 대여 기간(rental_duration)에 따라 영화를 '장기대여', '일반대여', 또는 '단기대여'로 분류하고자 합니다. 각 영화의 ID(film_id)와 대여 기간(rental_duration)을 기준으로, 대여 기간이 6일 이상일 경우 '장기대여', 4일 이상 6일 미만일 경우 '일반대여', 그 이하일 경우 '단기대여'로 분류하는 조회 쿼리를 작성하세요.

총 1000건

 

$5

customer 테이블에서 고객 ID(customer_id)가 10 이상인 고객들의 ID와 이름(first_name)을 조회하고자 합니다. 이 정보를 얻기 위한 쿼리를 작성하세요.

총 590건

 

$6

보안 감사의 일환으로, 회사의 직원 정보 관리 시스템에서 비밀번호가 설정되지 않은 계정들을 식별하고자 합니다. 이를 위해 staff 테이블을 조회하여 비밀번호(password) 정보가 누락된 직원들의 직원 ID(staff_id), 이름(first_name), 그리고 이메일(email) 정보를 찾아내는 SQL 쿼리를 작성하세요.

 

#7

고객 관리 시스템을 업데이트하는 과정에서, 특정 고객의 상세 정보가 필요한 상황이 발생했습니다. 이 고객은 이름(first_name)이 'KELLY'이며, 주소 ID(address_id)가 71인 고객입니다. 시스템에서 이 고객의 모든 정보를 빠르게 조회하기 위한 SQL 쿼리를 작성하세요.

 

#8

영화 대여점의 데이터베이스 관리를 위해, 2005년 5월에 반환된 모든 대여 기록을 검토해야 하는 상황이 발생했습니다. 이를 위해, 반환 날짜(return_date)가 2005년 5월인 모든 대여 기록을 조회하는 SQL 쿼리를 작성하세요.

총 395건

 

#9

회계 팀에서 2005년 5월의 거래 내역을 검토하고자 합니다. 이 기간 동안 발생한 모든 결제 거래에 대한 정보가 필요한데, 특히 결제 ID(payment_id), 고객 ID(customer_id), 그리고 결제 날짜(payment_date)에 대한 데이터가 요구됩니다. 결제 날짜가 2005년 5월인 모든 결제 기록을 찾는 SQL 쿼리를 작성하세요.

총 1156건

 

#10

마케팅 팀에서 특정 프로모션 대상을 선정하기 위해, 이메일 주소에 'GG' 문자열을 포함하는 고객들을 찾아내고자 합니다. 이러한 고객들은 과거 'GG' 관련 프로모션에 관심을 보였거나 참여한 이력이 있을 가능성이 높습니다. 따라서, 이들의 고객 ID(customer_id)와 이메일(email) 정보를 조회하는 SQL 쿼리를 작성하세요.

총 5건

#11

고객 서비스 팀에서는 특별한 이름 패턴을 가진 고객들에 대한 개인화된 서비스 제공 계획을 수립하고 있습니다. 구체적으로, 이름의 두번째 글자가 언더스코어인 고객들을 대상으로 특별한 인사말과 서비스를 준비하고자 합니다. 해당 고객의 고객 ID(customer_id)와 이름(first_name)을 조회하는 SQL 쿼리를 작성하세요.

총 0건

 

#12

고객 관리팀은 'Jam'으로 시작하는 이름을 가진 고객 목록을 정리하고자 합니다. 이 과정에서 이름이 'Jam'으로 시작하는 모든 고객의 고객 ID(customer_id), 이름(first_name), 그리고 성(last_name)을 조회하려고 합니다. 또한, 이들 고객의 목록을 이름순으로 오름차순 정렬하되, 동일한 이름을 가진 고객이 여러 명인 경우에는 성을 기준으로 내림차순으로 정렬하여 조직화하고자 합니다. 해당 고객 목록을 조회하는 SQL 쿼리를 작성하세요.

 

#13

비디오 대여점 시스템을 관리하고 있는 팀에서는 대여 비용이 높은 순으로 영화를 분류하여 마케팅 전략을 수립하려고 합니다. 이를 위해, 대여 비용이 높은 순서대로 나열된 영화 중 11번째에서 20번째에 해당하는 영화의 정보를 조회하고자 합니다. 만약 rental 비용이 같은 경우 title로 오름차순 정렬한다. 구체적으로는 영화의 ID(film_id)와 제목(title)을 알아내야 합니다. 이 정보를 활용하여 대여 비용이 높은 영화들을 대상으로 프로모션을 계획할 예정입니다. 해당 영화들의 정보를 조회하는 SQL 쿼리를 작성하세요.

총 10건

 

#14

영화 대여점 관리 팀에서는 영화의 대여 비용과 대체 비용을 합산하여, 손실 가능성이 있는 영화들의 순위를 매기고자 합니다. 이는 영화가 손상되거나 분실될 경우 발생할 수 있는 재정적 손실을 미리 파악하고, 해당 영화들에 대한 관리를 강화하기 위함입니다. 따라서, 각 영화의 ID(film_id), 제목(title), 대여 비용(rental_rate), 대체 비용(replacement_cost)을 포함하며, 대여 비용과 대체 비용을 합한 '손실 총액'을 계산하여 이를 기준으로 오름차순 정렬하는 SQL 쿼리를 작성하세요. 이를 통해 재정적 손실 가능성이 가장 낮은 영화부터 순차적으로 파악할 수 있습니다.

총 1000건

 

#15

영화 대여점에서는 가족 친화적인 영화를 선별하여 특별한 프로모션을 기획하고 있습니다. 이를 위해, 등급이 'G'(전체 관람가)인 영화 중에서 대여 비용이 3달러 미만인 영화들을 대상으로 합니다. 대여점 관리 팀은 이러한 조건에 해당하는 영화들 중 제목순으로 정렬했을 때, 세 번째에 해당하는 영화의 정보를 조회하려고 합니다. 이 정보는 프로모션에 포함될 영화를 최종 결정하는 데 중요한 기준이 될 것입니다. 해당 영화의 정보를 조회하는 SQL 쿼리를 작성하세요.

 

#16

고객 관리 시스템을 통해 특정 문자가 포함된 고객의 성을 가진 사람들을 대상으로 연락처 업데이트 캠페인을 진행하려고 합니다. 이번 캠페인에서는 성(last_name)에 'e'와 'o'라는 두 문자가 모두 포함된 고객들을 찾아내어 그들의 이름(first_name)과 성(last_name)을 조회하고자 합니다. 이는 특정 문자가 포함된 고객들에게 개인화된 서비스를 제공하기 위한 것입니다. 해당 고객들의 이름과 성을 조회하는 SQL 쿼리를 작성하세요.

총 100건

 

#17

고객 서비스 팀에서는 특정 고객의 결제 내역을 분석하여 고객 맞춤 서비스를 제공하고자 합니다. 이번 분석에서는 고객 ID가 1번인 고객에 대해, 2005년 5월에 이루어진 모든 결제 내역을 상세히 살펴보려고 합니다. 분석을 위해 해당 기간 동안의 결제 내역을 최신 날짜 순으로 정렬하여 조회하는 SQL 쿼리를 작성하세요. 

 

#18

1번 staff는 아직 테이프를 반납하지 않은 사람들에게 독촉 전화를 하고 싶다. 대상 customer의 고객ID를 오름차순으로 출력해보자.(hint: 같은 사람에게 여러번 전화할 필요는 없다.)

총 81건

 

#19

이제 16살이 된 은서는 친구들과 자유롭게 영화를 보려고 한다. 방학이라 시간이 남기 때문에 3시간 넘는 영화를 선호하고 가장 최근에 나온 영화가 좋겠다. 그리고 바다 괴물을 싫어하니까 description에서 Shark가 없으면 좋겠다.
(hint: 부모 개입 없이 영화를 봐야한다.)

총 5건

 

#20

고마웠던 고객을 찾아가서 기념품을 주고 싶은데 주소가 기억이 나지 않는다. 아마 address에 Street가 들어갔던것 같고 전화번호는 3으로 끝났던것 같다. 분명한것은 city_id가 443이나 122, 357은 아니었는데.. 이 주소의 전화번호 후보는 어떤 것일까?

반응형

'DB > mysql' 카테고리의 다른 글

[sakila] join & subquery 연습  (0) 2024.04.09
[sakila] 단일행 함수 활용 연습  (0) 2024.03.13
[mysql]알아두면 유용한 설정  (0) 2023.02.05
[mysql]00월 00일 입력?  (0) 2023.02.05
[sql] Null의 연산  (0) 2023.01.31
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.