در بخش قبل نحوه انجام عملیات اصلی پایگاه داده، مانند افزودن، خواندن، بهروزرسانی و حذف دادهها را یاد گرفتیم.در این بخش به نحوه اجرای کوئریهای پیچیدهتر میپردازیم که به شما امکان میدهد دادهها را بر اساس شرایط مختلف فیلتر کنید، آنها را مرتبسازی کنید و از توابع تجمیعی استفاده کنید. این مفاهیم برای تحلیل دادهها و مدیریت بهتر آنها ضروری هستند.
۴.۱. فیلتر کردن دادهها با WHERE
برای فیلتر کردن دادهها و انتخاب رکوردهای خاص، از عبارت WHERE
استفاده میکنیم. مثال زیر نشان میدهد که چگونه کاربران بالای 20 سال را انتخاب کنیم:
# اتصال به پایگاه داده connection = sqlite3.connect('my_database.db') cursor = connection.cursor() # انتخاب کاربران با سن بیشتر از 20 سال cursor.execute(''' SELECT * FROM users WHERE age > ? ''', (20,)) users = cursor.fetchall() for user in users: print(user) # بستن اتصال connection.close()
در این کد، تنها کاربران با سن بیشتر از 20 انتخاب میشوند.
۴.۲. مرتبسازی دادهها با ORDER BY
برای مرتبسازی نتایج بر اساس یک یا چند ستون، از ORDER BY
استفاده میکنیم. در مثال زیر، کاربران را بر اساس سن از کم به زیاد مرتبسازی میکنیم:
# اتصال به پایگاه داده connection = sqlite3.connect('my_database.db') cursor = connection.cursor() # مرتبسازی کاربران بر اساس سن cursor.execute(''' SELECT * FROM users ORDER BY age ASC ''') users = cursor.fetchall() for user in users: print(user) # بستن اتصال connection.close()
در اینجا، با استفاده از ASC
نتایج بهصورت صعودی مرتب میشوند. میتوان از DESC
نیز برای مرتبسازی نزولی استفاده کرد.
۴.۳. گروهبندی دادهها با GROUP BY
اگر بخواهید دادهها را بر اساس یک ویژگی مشترک گروهبندی کنید، از عبارت GROUP BY
استفاده میشود. مثال زیر تعداد کاربران در هر گروه سنی را نشان میدهد:
# اتصال به پایگاه داده connection = sqlite3.connect('my_database.db') cursor = connection.cursor() # گروهبندی کاربران بر اساس سن cursor.execute(''' SELECT age, COUNT(*) FROM users GROUP BY age ''') age_groups = cursor.fetchall() for group in age_groups: print(group) # بستن اتصال connection.close()
این کد تعداد کاربران در هر گروه سنی را به ما میدهد.
۴.۴. توابع تجمیعی (SUM، AVG، MAX، MIN)
توابع تجمیعی به شما اجازه میدهند تا عملیاتهایی مانند جمع، میانگین، بیشترین و کمترین مقدار را بر روی ستونهای داده اجرا کنید. مثال زیر از AVG
برای محاسبه میانگین سن کاربران استفاده میکند:
# اتصال به پایگاه داده connection = sqlite3.connect('my_database.db') cursor = connection.cursor() # محاسبه میانگین سن کاربران cursor.execute(''' SELECT AVG(age) FROM users ''') average_age = cursor.fetchone()[0] print(f"Average age: {average_age}") # بستن اتصال connection.close()
همچنین میتوانید از توابع SUM
برای جمع، MAX
برای بیشترین و MIN
برای کمترین مقدار نیز استفاده کنید.
با یادگیری کوئریهای پیچیده، شما میتوانید دادههای خود را به شیوهای کارآمدتر مدیریت و تحلیل کنید و به نتایج دقیقتری دست یابید. این مفاهیم به شما کمک میکنند تا دادههای پایگاه داده خود را بهتر سازماندهی و تحلیل کنید.
پاسخها