منذ فترة و ألاحظ أن هناك العديد من المطورين الجدد يعتمدوا بشكل كامل على مكتبات ORM المدمجة مع ال Frameworks الجديدة دون الأهتمام بشكل الأستعلامات التى تتم. سواء كنت تعمل على أى إطار برمجى أو أى لغة لابد و ان تكون على علم باﻷستعلامات التى تتم من خلال هذه الأطر البرمجية حتى تسيطيع صياغتها بالشكل الذى يخف الضعط على قواعد البيانات.
لذلك قررت كتابة التدوينة هذه عن الاستعلامات بشكل مبسط، ساتجاوز عن بعض البدائيات.
Between
نستعلم من خلال between على قيم فى حدود )within a range ) موجودة فى عمود ما فى قاعدة البيانات
مثال : لو أنك تبحث فى جدول الأعضاء على المواليد من فترة 1980 الى 1990
SELECT * FROM `users` where year BETWEEN 1980 AND 1990;
IN
نستخدمها للبحث داخل قيم محددة مسبقا، مثلا البحث عن مواليد مدن محددة
SELECT * FROM `users` WHERE city IN ('Cairo','ALEX','GIZA');
ملاحظة : يمكن عكس الاستعلامات باضافة NOT مثل NOT BETWEEN - NOT IN
هناك مجموعة دوال تستخدم أيضا للجمع أو العد أو حساب متوسط الأرقام
الدوال :
MAX : جلب أكبر قيمة فى العمود، أكبر سعر منتج فى جدول المنتجات
SELECT MAX(price) from products;
MIN : جلب أقل قيمة فى العمود، أقل سعر منتج فى جدول المنتجات
SELECT MIN(price) from products;
AVG : حساب متوسط السعر للمنتجات
SELECT AVG(price) from products;
SUM : جمع الأعداد الموجودة فى عمود محدد، وليكن حساب مجموع المنتجات الموجودة .
SELECT SUM(quantity) FROM `products`;
CONCAT : دمج قيم أكثر من عمود فى الجدول بقيمة واحدة، دمج الأسم الأول للمستخدم و الثانى ليكون الأسم بالكامل
SELECT first_name,last_name,CONCAT(first_name,last_name) as full_name from users;
DISTINCT : لعرض القيم الفريدة فى الجدول من خلال عمود أو أكثر، نفترض أن لديك أعضاء فى الموقع و تسجل فى العمود city أسم المدينة، و تريد أنك تعرف المدن التى منها أعضاء التطبيق دون تكرار أسماء المدن
SELECT DISTINCT City FROM users;
و بكدة نكون تكلمنا عن القليل من أساسيات ال SQL المستخدمة و المرة القادمة سأكتب عن بعض الدوال المتطورة فى SQL