diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index 1efdc5e9f41da08a8ecee2b509050a036e1815a8..5fcac4ed09280aff0c14bf2ab9962e4bf8b6b1e2 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -931,7 +931,35 @@ BEGIN
 END //
 
 
+DROP PROCEDURE IF EXISTS SearchStudents//
+CREATE PROCEDURE `SearchStudents`	(	IN `Grade` INT, 
+										IN `GroupN` INT,
+										IN `FacultyID` INT,
+										IN `Last` VARCHAR(30) CHARSET utf8, 
+										IN `First` VARCHAR(30) CHARSET utf8, 
+									 	IN `Second` VARCHAR(30) CHARSET utf8 
+									)
+    NO SQL
+BEGIN  
+	SELECT	students.ID 			AS 'StudentID',
+			students.LastName		AS 'StudentLast',	
+			students.FirstName 		AS 'StudentFirst',
+			students.SecondName		AS 'StudentSecond',
+			study_groups.Grade 		AS 'GroupGrade',
+			study_groups.GroupNum 	AS 'GroupNum'
+	FROM `students`
+	INNER JOIN `study_groups` 		ON students.StudyGroupID = study_groups.ID
+	INNER JOIN `specializations`	ON study_groups.SpecializationID = specializations.ID
+	WHERE 	( Grade IS NULL OR study_groups.Grade = Grade) AND
+			( GroupN IS NULL OR study_groups.GroupNum = GroupN) AND
+			( FacultyID IS NULL OR specializations.FacultyID = FacultyID) AND 
+			( Last IS NULL OR ( students.LastName REGEXP CONCAT("^",Last,"*"))) AND 
+			( First IS NULL OR ( students.FirstName REGEXP CONCAT("^",First,"*"))) AND
+			( Second IS NULL OR ( students.SecondName REGEXP CONCAT("^",Second,"*")))
+	ORDER BY study_groups.Grade ASC, study_groups.GroupNum ASC;
+
 
+END //