پنج سطح SQL

مقدمه
سلام علاقه مندان به داده ها و به پست دیگری در مورد آن خوش آمدید SQLبشر امروز ما می خواهیم به پنج سطح شیرجه بزنیم SQL و من قول می دهم که شما آن را دوست دارید و یاد می گیرید. بنابراین بیایید برخی از کارهای نرمی را انجام دهیم. باید ما:
1. چیست SQL:
قبل از اینکه بتوانیم خیلی از خودمان جلو برویم ، بیایید
درک عمیق تری از درک عمیق تر از SQL همانطور که ممکن است قبلاً شنیده باشید ، SQL (زبان پرس و جو ساختاری) زبان مورد استفاده برای تعامل با موتورهای پایگاه داده رابطه ای به عنوان مثال PostgreSQL یا MySQL است. تعامل با پایگاه داده با استفاده از SQL ممکن است شامل یک یا تمام فعالیت های زیر باشد:
- بازیابی سوابق از پایگاه داده .-> را انتخاب کنید.
- افزودن سوابق جدید به پایگاه داده. -> درج.
- اصلاح سوابق موجود. -> به روز رسانی.
- حذف سوابق موجود. -> حذف
بهترین پایگاه داده برای نوشتن نمایش داده های SQL PostgreSQL است زیرا این پایگاه داده رابطه ای شیء است ، مدرن است و از همه مهمتر منبع باز است (مجوز لازم نیست). بیشتر بانکهای اطلاعاتی دیگر مانند Oracle و MySQL ممکن است برای استفاده از آنها مجوز لازم باشد. بهتر است نمایش داده های SQL را از ترمینال (با استفاده از پوسته PSQL) بیاموزید ، زیرا اگر به سرور SSH می روید ، می توانید برخلاف زمانی که به استفاده از پایگاه داده های مرتبط با GUI استفاده می کنید ، به طور موثری پایگاه داده را اداره کنید. حال بیایید به 5 سطح نوشتن پرس و جو SQL شیرجه بزنیم.
2. پنج سطح SQL
سطح صفر
این شامل دانستن به استفاده از SELECT * FROM table_name;
این معادل باز کردن یک برگه اکسل یا یک سند Word است تا دستان خود را به داده ها برسانید. اگر می توانید با این پرس و جو به صورت شهودی بازی کنید ، پس در مسیر صحیح تسلط SQL قرار دارید.
سطح یک
آیا بقیه کلمات کلیدی مانند را می دانید SELECT
با FROM
با WHERE
با GROUP BY
با HAVING
با LIMIT
با ORDER BY
و غیره آیا هنگام ترکیب آنها در یک پرس و جو ، ترتیب اجرای این کلمات کلیدی را درک می کنید FROM
با WHERE
با GROUP BY
با HAVING
با SELECT
باORDER BY
باLIMIT
بشر ببینید آیا می دانید در کد نمونه زیر چه خبر است.
SELECT id,, first_name
FROM person
WHERE country_of_birth="Kenya"
GROUP BY gender
HAVING COUNT(*) > 5
ORDER BY id
LIMIT 10;
سطح دو
آیا می توانید استاد را بپیوندید که می خواهید مانند آن استفاده کنید inner join
وت left join
که رایج ترین آنهاست و کمتر متداول است full outer join
بشر پیوستن به این که شما خیلی زیاد استفاده نخواهید کرد right join
وت cross join
نمونه نمونه نمونه
SELECT p.first_name, s.salary
FROM person p
INNER JOIN salary s ON p.id = s.person_id;
همچنین اطمینان حاصل کنید که درک خوبی از عبارات جدول مشترک (CTE) دارید و بیشتر از آنها از زیر پرسشنامه ها استفاده می کنند. WITH
کلمه کلیدی کد نمونه زیر. آیا می توانید برای کسی توضیح دهید که چه خبر است؟
WITH recent_births AS (
SELECT * FROM person WHERE date_of_birth > '2020-01-01'
)
SELECT * FROM recent_births WHERE gender="Female";
سطح سه
شما عملکردهای پنجره را می دانید. در این حالت شما یک عملکرد دارید SUM()
با RANK()
یا AVG()
و سپس بند بیش از آن را دارید و پنجره را دارید. یک پنجره توسط پارتیشن ، به ترتیب در ردیف ها تعریف می شود. همچنین در این سطح باید بتوانید تفاوت بین a را بیان کنید RANK
(رده های مربوط به روابط) ، DENSE RANK
(بدون شکاف در روابط) و ROW NUMBER
(دنباله منحصر به فرد). به عنوان مثال ، آیا با کد نمونه زیر ارتباط دارید.
SELECT id, first_name,
RANK() OVER (PARTITION BY country_of_birth ORDER BY date_of_birth) AS birth_rank
FROM person;
سطح چهار
اسکن جدول را درک کنید تا بتوانید تکنیک های بهینه سازی مناسب را بدست آورید ، به عنوان مثال اسکن جدول ، شاخص ها ، پارتیشن بندی و غیره. به عنوان مثال با استفاده از توضیحات توضیحات برای بازرسی برنامه های پرس و جو. به عنوان مثال
EXPLAIN ANALYZE
SELECT * FROM person WHERE country_of_birth="Kenya"
سطح پنج
اگر این کار را تا این حد انجام داده اید ، تعجب نمی کنید که بدانید در سطح پنج ، باید بتوانید این نمایش داده ها را به طور مؤثر بنویسید ، بدون کمک LLM ، آنها را برای خطاها اشکال زد. فقط از LLMS برای سرعت بخشیدن به فرآیند نوشتن پرس و جو خود یا خودکار کردن کارهای تکراری استفاده کنید.
بنابراین در کدام سطح از تسلط SQL هستید. دوست دارم بدانم نظر خود را در زیر بگذارید. امیدوارم که از خواندن لذت برده باشید و در مورد بعدی شما را ببینید.