کوئری‌های شما باید روی آخرین نسخه‌ی MySQL قابل اجرا باشند.


در تیم مهندسی دیجی‌کال‍ا، یک سیستم رده‌بندی برای سطح مهندسین وجود دارد. امیرحسین که قصد ارتقای درجه‌ی چند نفر از اعضای تیم را دارد، تصمیم گرفته تا سؤالی در خصوص ایندکس‌های دیتابیس از آن‌ها بپرسد و مطمئن شود که آن‌ها درک خوبی از دیتابیس دارند. او سؤالات را از قبل آماده کرده، اما فرصت نوشتن پاسخ نمونه برای این سؤالات را ندارد. از شما می‌خواهیم تا کوئری‌های مدنظر امیرحسین را بنویسید.

جزئیات پروژه

داده‌های اولیه برای تست نمونه را از این لینک دانلود کنید.

ساختار جداول به‌شرح زیر است:

جدول users: از این جدول برای نگه‌داری اطلاعات کاربران استفاده می‌شود. ساختار این جدول به‌صورت زیر است:

نام ستون نوع تعریف
id ‌BIGINT(20) شناسه‌ی کاربر
username ‌VARCHAR(255) نام کاربری
name ‌VARCHAR(255) نام کاربر
password ‌VARCHAR(255) رمز عبور
created_at TIMESTAMP زمان عضویت کاربر

جدول products: از این جدول برای نگه‌داری اطلاعات محصولات استفاده می‌شود. فرض می‌شود که هر محصول تنها متعلق به یک دسته‌بندی است! ساختار این جدول به‌صورت زیر است:

نام ستون نوع تعریف
id ‌BIGINT(20) شناسه‌ی محصول
category_id ‌BIGINT(20) شناسه‌ی دسته‌بندی محصول
name VARCHAR(255) نام محصول
description TEXT توضیحات محصول
price DECIMAL(15, 2) قیمت محصول
created_at TIMESTAMP زمان درج محصول

توجه داشته باشید که جدول دسته‌بندی‌های محصولات صرفاً جهت سادگی در سؤال نیامده است. نیازی به اطلاعات چنین جدولی نیست.

مطلوبات

کوئری‌های خواسته‌شده از شما، موارد زیر است:

  1. کوئری ساخت ایندکس جهت بهینه‌سازی حداکثری سرعت دریافت شناسه‌ی کاربرانی که نام‌شان با یک رشته‌ی خاص آغاز می‌شود:
SELECT id
FROM users
WHERE name LIKE 'Ali%'
SQL
  1. کوئری ساخت ایندکس جهت بهینه‌سازی حداکثری سرعت دریافت شناسه، نام و قیمت محصولاتی که قیمت‌شان بین دو عدد مشخص است و مربوط به یک دسته‌ی خاص هستند:
SELECT id, name, price
FROM products
WHERE price > 25000 AND price < 50000000 AND category_id = 5
SQL

نکات

  • کوئری‌های شما باید روی آخرین نسخه‌ی MySQL قابل اجرا باشند.
  • کوئری هر بخش باید تنها شامل یک statement باشد.
  • هر کوئری امتیاز جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بنویسید، کوئری‌هایی که حل کردید را بفرستید و قسمت آن کوئری را خالی بگذارید.
  • در تست نمونه‌ی این سؤال، فقط کوئری بخش اول تست می‌شود.

آن‌چه باید آپلود کنید

پس از طراحی کوئری‌ها، آن‌ها را در قالب زیر در یک فایل با پسوند .sql آپلود کنید.

-- Section1
    Your first query here
-- Section2
    Your second query here
SQL

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.