الدالة MIN()
الدالة MIN() تستخدم للحصول على أصغر قيمة موجودة في العامود.
هذه الدالة مخصصة للتعامل مع الأرقام و التواريخ فقط بمعنى أنه يمكنك استخدامها لمعرفة أصغر رقم أو أصغر تاريخ موضوع في العامود.
الشكل العام لإستخدامها
SELECT MIN(column_name)
FROM table_name
WHERE condition;
إذاً نستدعي الدالة MIN() مباشرةً بعد الكلمة SELECT.
إسم العامود الذي نريد الحصول على أصغر قيمة موجودة فيه نكتبه بين أقواس الدالة مكان الكلمة column_name.
تجهيز قاعدة البيانات التي سنطبق عليها
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه employees يحتوي على بيانات 10 موظفين.
الإستعلام
-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS harmash;
-- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE harmash;
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- يتألف من 6 أعمدة employees هنا قمنا بإنشاء جدول جديد إسمه
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE employees (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(20),
is_married BOOLEAN,
salary DECIMAL(7,2),
birthday Date
);
-- هنا قمنا بإضافة 10 أسطر في الجدول, أي أضفنا معلومات 10 موظفين
-- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
-- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
-- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
INSERT INTO employees VALUES (null, "Ahmad", "Alhazem", false, 800, "1990-10-23");
INSERT INTO employees VALUES (null, "Rami", "Algharib", false, 750, "1992-05-08");
INSERT INTO employees VALUES (null, "Said", "Alnaja", true, 900, "1988-07-12");
INSERT INTO employees VALUES (null, "Noura", "Jamali", false, 845, "1994-12-04");
INSERT INTO employees VALUES (null, "Amani", "Sarrouf", true, 1000, "1991-10-27");
INSERT INTO employees VALUES (null, "Mhamad", "Harmush", false, 700, "1993-11-12");
INSERT INTO employees VALUES (null, "Ahmad", "Asaadi", true, 850, "1995-03-10");
INSERT INTO employees VALUES (null, "Mostafa", "Shawki", true, 920, "1990-02-14");
INSERT INTO employees VALUES (null, "Jana", "Alkassem", false, 780, "1991-08-12");
INSERT INTO employees VALUES (null, "Houssam", "Zahrani", true, 880, "1985-09-20");
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول employees بداخلها.
قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.
البيانات التي قمنا بإضافتها بشكل إفتراضي في الجدول employees.
| id | first_name | last_name | is_married | salary | birthday |
|---|---|---|---|---|---|
| 1 | Ahmad | Alhazem | 0 | 800.00 | 1990-10-23 |
| 2 | Rami | Algharib | 0 | 750.00 | 1992-05-08 |
| 3 | Said | Alnaja | 1 | 900.00 | 1988-07-12 |
| 4 | Noura | Jamali | 0 | 845.00 | 1994-12-04 |
| 5 | Amani | Sarrouf | 1 | 1000.00 | 1991-10-27 |
| 6 | Mhamad | Harmush | 0 | 700.00 | 1993-11-12 |
| 7 | Ahmad | Asaadi | 1 | 850.00 | 1995-03-10 |
| 8 | Mostafa | Shawki | 1 | 920.00 | 1990-02-14 |
| 9 | Jana | Alkassem | 0 | 780.00 | 1991-08-12 |
| 10 | Houssam | Zahrani | 1 | 880.00 | 1985-09-20 |
أمثلة حول استخدام الدالة MIN()
المثال الأول
الإستعلام التالي يقوم بجلب أدنى راتب يتم إعطاؤه للموظف في الشركة.
أي سنعرض أصغر قيمة موجودة في العامود salary.
الإستعلام
SELECT MIN(salary) AS 'Lowest Salary' -- مع تغيير إسم العامود الذي سيتم عرضه في النتيجة salary هنا قمنا بجلب أصغر قيمة في العامود
FROM employees; -- salary هنا قمنا بتحديد إسم الجدول الذي يحتوي على العامود
سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
| Lowest Salary |
|---|
| 700.00 |
المثال الثاني
الإستعلام التالي يقوم بجلب أقدم تاريخ ميلاد موضوع لموظف في الشركة.
أي سنعرض أقدم تاريخ موجود في العامود birthday.
الإستعلام
SELECT MIN(birthday) AS 'Oldest Date' -- مع تغيير إسم العامود الذي سيتم عرضه في النتيجة birthday هنا قمنا بجلب أقدم تاريخ في العامود
FROM employees; -- birthday هنا قمنا بتحديد إسم الجدول الذي يحتوي على العامود
سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
| Oldest Date |
|---|
| 1985-09-20 |
الدالة MAX()
الدالة MAX() تستخدم للحصول على أكبر قيمة موجودة في العامود.
هذه الدالة مخصصة للتعامل مع الأرقام و التواريخ فقط بمعنى أنه يمكنك استخدامها لمعرفة أكبر رقم أو أكبر تاريخ موضوع في العامود.
الشكل العام لإستخدامها
SELECT MAX(column_name)
FROM table_name
WHERE condition;
إذاً نستدعي الدالة MAX() مباشرةً بعد الكلمة SELECT.
إسم العامود الذي نريد الحصول على أكبر قيمة موجودة فيه نكتبه بين أقواس الدالة مكان الكلمة column_name.
تجهيز قاعدة البيانات التي سنطبق عليها
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه employees يحتوي على بيانات 10 موظفين.
الإستعلام
-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS harmash;
-- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE harmash;
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- يتألف من 6 أعمدة employees هنا قمنا بإنشاء جدول جديد إسمه
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE employees (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(20),
is_married BOOLEAN,
salary DECIMAL(7,2),
birthday Date
);
-- هنا قمنا بإضافة 10 أسطر في الجدول, أي أضفنا معلومات 10 موظفين
-- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
-- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
-- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
INSERT INTO employees VALUES (null, "Ahmad", "Alhazem", false, 800, "1990-10-23");
INSERT INTO employees VALUES (null, "Rami", "Algharib", false, 750, "1992-05-08");
INSERT INTO employees VALUES (null, "Said", "Alnaja", true, 900, "1988-07-12");
INSERT INTO employees VALUES (null, "Noura", "Jamali", false, 845, "1994-12-04");
INSERT INTO employees VALUES (null, "Amani", "Sarrouf", true, 1000, "1991-10-27");
INSERT INTO employees VALUES (null, "Mhamad", "Harmush", false, 700, "1993-11-12");
INSERT INTO employees VALUES (null, "Ahmad", "Asaadi", true, 850, "1995-03-10");
INSERT INTO employees VALUES (null, "Mostafa", "Shawki", true, 920, "1990-02-14");
INSERT INTO employees VALUES (null, "Jana", "Alkassem", false, 780, "1991-08-12");
INSERT INTO employees VALUES (null, "Houssam", "Zahrani", true, 880, "1985-09-20");
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول employees بداخلها.
قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.
البيانات التي قمنا بإضافتها بشكل إفتراضي في الجدول employees.
| id | first_name | last_name | is_married | salary | birthday |
|---|---|---|---|---|---|
| 1 | Ahmad | Alhazem | 0 | 800.00 | 1990-10-23 |
| 2 | Rami | Algharib | 0 | 750.00 | 1992-05-08 |
| 3 | Said | Alnaja | 1 | 900.00 | 1988-07-12 |
| 4 | Noura | Jamali | 0 | 845.00 | 1994-12-04 |
| 5 | Amani | Sarrouf | 1 | 1000.00 | 1991-10-27 |
| 6 | Mhamad | Harmush | 0 | 700.00 | 1993-11-12 |
| 7 | Ahmad | Asaadi | 1 | 850.00 | 1995-03-10 |
| 8 | Mostafa | Shawki | 1 | 920.00 | 1990-02-14 |
| 9 | Jana | Alkassem | 0 | 780.00 | 1991-08-12 |
| 10 | Houssam | Zahrani | 1 | 880.00 | 1985-09-20 |
أمثلة حول استخدام الدالة MAX()
المثال الأول
الإستعلام التالي يقوم بجلب أعلى راتب يتم إعطاؤه للموظف في الشركة.
أي سنعرض أكبر قيمة موجودة في العامود salary.
الإستعلام
SELECT MAX(salary) AS 'Highest Salary' -- مع تغيير إسم العامود الذي سيتم عرضه في النتيجة salary هنا قمنا بجلب أكبر قيمة في العامود
FROM employees; -- salary هنا قمنا بتحديد إسم الجدول الذي يحتوي على العامود
سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
| Highest Salary |
|---|
| 1000.00 |
المثال الثاني
الإستعلام التالي يقوم بجلب أحدث تاريخ ميلاد موضوع لموظف في الشركة.
أي سنعرض أحدث تاريخ موجود في العامود birthday.
الإستعلام
SELECT MAX(birthday) AS 'Newest Date' -- مع تغيير إسم العامود الذي سيتم عرضه في النتيجة birthday هنا قمنا بجلب أحدث تاريخ في العامود
FROM employees; -- birthday هنا قمنا بتحديد إسم الجدول الذي يحتوي على العامود
سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
| Newest Date |
|---|
| 1995-03-10 |