sql select语句SQL代表结构化查询语言。它是一种强大的数据库计算机语言,该语言于1974年介绍。SQL专门用于与关系数据库一起使用。所有关系数据库系统,如Oracle,MySQL,MS SQL Server等,使用此标准数据库语言。SQL用于在关系数据库管理系统中创建,存储,检索,更改和删除数据。PL / SQL是SQL的程序扩展语言,提供了许多数据类型和有用的编程结构。由于PL / SQL,用户可以使用数据库对象创建功能和过程。其他重要功能包括异常处理和对面向对象编程的支持。学习PL / SQL的先决条件包括了解SQL和编程的基础知识。

在这里,我们将介绍PL/SQL IF THEN条件构造。如果您是SQL新手,您可以这样做首先学习这门关于SQL的入门课程

条件结构 - 如果那么

如果......然后构造是PL / SQL的一部分。它属于条件陈述的类别。这意味着可以基于所定义的或基于逻辑的决策来采取多种操作。这种条件构建体有三种变体。它们如下

  1. 如果……
  2. 如果…那么…
  3. 如果…那么…ELSIF…ENDIF

IF语句的第一个变体:Simple IF THEN

这是一个单一的条件声明。这种条件结构通常用于从命令提示符操作表中的数据。

如果此语句的基本语法如下

IF (condition) THEN语句结束IF;

请注意,条件和其他语句是在SQL中的所有帽中写入的。通过IF语句,我们首先检查一个条件。如果它评估为true,则执行与然后与然后执行关联的语句。否则,程序控制转到了该程序的下一个语句。看看以下示例。

例1:程序检查一个数字的值

DECLARE num INTEGER(2):= 10;BEGIN IF (num = 10) THEN DBMS_OUTPUT。PUT_LINE('条件为真');如果;结束;/

该计划有2个部分。

  1. DECLARE SECTION——在这个SECTION中声明变量。
  2. BEGIN和END块——可执行语句被放置在BEGIN和END关键字中。这是一个强制性的部分。

注意,在命令提示符中执行程序需要末尾的/。通过本课程学习如何编写自己的SQL程序

示例2:如果在此语句中使用存在条件以删除表中的记录

这里我们使用一个名为customer的现有表。其中一个字段叫做ID。

IF EXISTS(SELECT 1 FROM customer WHERE ID = 100) THEN DELETE FROM customer WHERE ID = 100 End IF;结束/

这里使用的EXISTS条件是SQL的一部分。它接受子查询作为参数。只有当子查询返回至少一行时,这个条件才为真。在本例中,IF…THEN语句评估customer表中是否存在一条记录。如果条件为真,则程序继续从表中删除相关记录。你可以学习更多关于使用SQL数据库的课程。

示例3:如果使用不存在的情况,则使用if语句

让我们看一个示例,使用带有NOT EXISTS条件的IF THEN语句来避免插入重复的记录给予表格

如果不存在(SELECT 1 FROM customer WHERE ID = 100) THEN INSERT INTO customer (ID) VALUES (100) END IF结束;/

这里,只有当参数子查询没有从指定的表返回任何记录时,NOT EXISTS SQL条件才为真。如果条件为真,则向客户表中插入一条记录。

IF语句的第二种变体:如果是否则否则

语法如下(条件)那么遵循;否则声明;如果;

这里,首先评估IF条件。如果它是真的,则执行关联的语句。如果为false,则控制将传递给else子句,并且执行与else关联的语句。看看给定的计划。

实施例4:确定特定员工工资的奖金组成部分

这里,我们使用的是一个名为employee的现有表,它有employee_id和salary字段。

宣布销售编号(8,2):= 15000;配额号(8,2):= 10000;奖金数量(2);EMP_ID号码(6):= 250;如果销售>(配额+ 200)开始奖金:=(销售 - 配额)/ 4;否则奖金:= 100;如果;更新员工设置薪资= employee_id = emp_id的薪资+奖金;结束;/

在此程序中,如果为true评估IF条件,计算员工的奖金。但是,如果条件为false,则程序控件转到else子句,其中将固定值分配给奖励变量。接下来,执行SQL UPDATE命令,通过将奖励值添加到现有的工资值,更新包含给定employee_id的记录的薪资字段。

如果声明的第三种变体:如果...那......然后... elsif ...结局

有时您可能想在不同的选项中进行选择。为此,您可以使用IF THEN ELSIF语句。语法如下所示

如果(条件-1)那么语句-1;Elsif(条件-2)那么声明-2;elsif(条件-3)然后声明-3;否则声明;万一;

注意这里的关键字是ELSIF,而不是ELSEIF或ELSEIF。可以有任意数量的ELSIF子句。但是,末尾的ELSE子句是可选的。在这里,每个条件都按顺序逐一计算。如果特定的条件为真,则执行其关联的语句。在此之后,控制转到END IF后面的程序语句。在所有条件都为假的情况下,将执行与ELSE子句关联的语句。

根据不同的绩效标准来确定员工奖金

DECLARE sales NUMBER(8,2):= 50000;奖金数量(2);emp_id NUMBER(6):= 120;BEGIN IF sales > 60000 THEN奖金:= 2000;ELSIF sales > 35000 THEN奖金:= 1000;ELSE奖金:= 500;如果;UPDATE employees SET salary = salary + bonus WHERE employee_id = emp_id结束;/

既然我们已经给你介绍了这么多例子,那就自己试着弄清楚这个例子吧。请在评论中留下你的解释!

学习任何新的编程语言总是有趣。如果您按下时间,您可以将我们的崩溃课程带到学习SQL在短短6天.绝对值得!

SQL顶级课程

SQL和PostgreSQL:完整的开发人员指南
Stephen主梁
4.8 (1,503)
收视率最高
高级SQL: SQL专家认证准备课程
9万多名学员,Code Star学院
4.5 (2,252)
为SQL Server管理员学习高级T-SQL
拉斐尔Asghar
4.6 (436)
完整的SQL训练营2021:从零到英雄
何塞波罗拉
4.7 (99,703)
畅销书
Ultimate MySQL BootCamp:从SQL初学者到专家
柯尔特·斯蒂尔,这是伊恩·斯库诺弗
4.6 (54653)
畅销书
SQL - MySQL的数据分析和商业智能
365年职业生涯
4.6 (28051)
畅销书
Master SQL For Data Science
Imtiaz艾哈迈德
4.7 (7,609)
完整的SQL和数据库Bootcamp:零掌握[2021]
安德烈Neageie,Mo Binni
4.6 (1519)
SQL初学者:学习SQL使用MySQL和数据库设计
Tim Buchalka的学习编程学院,Jon Avis - SQL讲师
4.5 (11,647)
从头开始学习SQL +安全(笔)测试
拉胡尔·赫尔蒂
4.5 (1,618)
畅销书
SQL&PostgreSQL为初学者:成为一个SQL专家
Jon Avis - SQL讲师
4.6 (3267)
畅销书

多个SQL课程

SQL学生也学习

赋予你的团队。引领行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求演示