سلام
میخواستم اسامی افرادی که بالای ۵تا خرید رو داشتن رو از دیتابیس بگیرم
به نظرتون این کوئری بهینه هست یا میشه بهترش کرد؟
select customerName from (select customers.customername, count(orders.CustomerID) as maximum from orders inner join customers on customers.CustomerID = orders.CustomerID group by (orders.CustomerID) having maximum > 5)
کوئری ها رو روی دیتابیس orders و customers در لینک زیر اجرا میکنم
SQL Tryit Editor v۱.۶ (w۳schools.com)
سلام و احترام
کوئریتون مناسب هستش، سعی کنید از joinها در جای مناسب و ضروری استفاده کنید تا فشار زیادی به دیتابیس نیاره.
میتونید از mysql view هم استفاده کنید تا داخل دیتابیستون اون چیزی که نیاز دارید رو برای شما به نمایش بزاره. برای مثال میتونید یک mysql view بنویسید که افرادی که بالایی 5 خرید داشتند رو به شما نمایش بده و شما مجبور نباشید که داخل کدتون کوئری سنگین بزنید.
mysql view میاد به شما یه سری داده نشون میده طبق کوئری که شما براش مشخص میکنید، (داده ای رو ذخیره نمیکنه و فقط وظیفه نمایش اون رو داره)
سلام خیلی ممنونم جناب صالحی لطف کردین
اینکه گفتین جای در جای مناسب و ضروری از Join استفاده بشه؛ منظورتون چه موقع هست؟
به نظرتون mysql view میتونه جای join استفاده بشه ؟