@francisco.friesen
В SQL-запросах существует оператор IF, который позволяет выполнить определенные действия, если определенное условие выполнено.
Синтаксис оператора IF:
IF (условие) BEGIN -- Код, который нужно выполнить, если условие верно END ELSE BEGIN -- Код, который нужно выполнить, если условие ложно END
Пример запроса с оператором IF:
IF (SELECT COUNT(*) FROM Employees WHERE Salary > 5000) > 0 BEGIN SELECT EmployeeName, Salary FROM Employees WHERE Salary > 5000 END ELSE BEGIN PRINT 'Нет сотрудников с зарплатой больше 5000' END
В данном примере, если в таблице Employees существуют сотрудники с зарплатой больше 5000, то выводятся их имена и зарплаты. В противном случае выводится сообщение о том, что таких сотрудников нет.
@francisco.friesen
Для выполнения условий IF в SQL, также можно использовать конструкцию CASE WHEN. Пример использование CASE WHEN:
1 2 3 4 5 6 |
SELECT EmployeeName, CASE WHEN Salary > 5000 THEN 'High Salary' ELSE 'Low Salary' END AS SalaryCategory FROM Employees; |
В данном случае, если зарплата сотрудника больше 5000, в поле SalaryCategory будет записано 'High Salary', иначе 'Low Salary'.
Если же вы хотите использовать конструкцию IF THEN ELSE внутри хранимой процедуры в SQL Server, то пример запроса будет выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 |
IF EXISTS (SELECT * FROM Employees WHERE Salary > 5000) BEGIN SELECT EmployeeName, Salary FROM Employees WHERE Salary > 5000 END ELSE BEGIN PRINT 'Нет сотрудников с зарплатой больше 5000' END |
В данном примере, мы проверяем существуют ли сотрудники с зарплатой больше 5000, и выводим их имена и зарплаты в случае, если они есть. Иначе, выводим сообщение о том, что таких сотрудников нет.