返回首页

gbase数据、南大通用产品文档:GBase8s搜索CASE语句

更新日期:2024年09月11日

DECLARE
grade CHAR(1);
BEGIN

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 47 -

grade := 'B';
CASE
WHEN grade = 'A' THEN DBMS_OUTPUT.PUT_LINE('Excellent');
WHEN grade = 'B' THEN DBMS_OUTPUT.PUT_LINE('Very Good');
WHEN grade = 'C' THEN DBMS_OUTPUT.PUT_LINE('Good');
WHEN grade = 'D' THEN DBMS_OUTPUT.PUT_LINE('Fair');
WHEN grade = 'F' THEN DBMS_OUTPUT.PUT_LINE('Poor');
ELSE
DBMS_OUTPUT.PUT_LINE('No such grade');
END CASE;
END;

--Result:
--Very Good

20 |
7839 |

两个行集之间的差异产生一个表,它包含在第一个行集中但不在第二个行集中的行。使用
关键字 NOT EXISTS 或 NOT IN 俩引入显示两个集合之间的差异的子查询。下图说明了
差异集合运算。
图: 差异集合运算


下列查询是嵌套 SELECT 语句的一个示例,它显示了 stock 和 items 表之间的差异。
图: 查询
SELECT stock_num, manu_code, unit_price FROM stock
WHERE stock_num NOT IN
(SELECT stock_num FROM items)
ORDER BY stock_num;
该结果仅包含来自第一个集(它返回了 17 行)的所有元素。
图: 查询结果
stock_num manu_code unit_price


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 155 -

102 PRC $480.00
102 SHM $220.00
106 PRC $23.00

312 HRO $72.00
312 SHM $96.00
313 ANZ $60.00
313 SHM $72.00