1. 前言
Oracle是当今世界最流行的关系型数据库之一,无论是企业级应用还是个人开发,都需要应用Oracle数据库来存储数据。在使用Oracle数据库时,查询和判断数据是最基本的操作,本文将介绍Oracle常用的查询判断语句。以下操作均在Oracle 11g版本下进行。
2. 查询语句
2.1 SELECT语句
SELECT语句是最常用的查询语句,用于从一个或多个表中检索数据。可以使用SELECT语句检索表中指定的列或所有列。使用*代表所有列。
SELECT column1, column2, ... columnN FROM table_name;
其中,column1,column2,...代表要检索的列名,table_name代表要检索的表名。
SELECT语句还常用于进行数据统计,比如查询表中某列的最小值、最大值、总和、平均数等。使用以下语句:
SELECT MIN(column_name) FROM table_name;
其中,MIN()代表计算列中最小值,可以替换成MAX(), SUM(), AVG()等函数,比如计算列的总和:
SELECT SUM(column_name) FROM table_name;
2.2 WHERE子句
WHERE子句用于从表中选择满足指定条件的记录,可以使用运算符来指定条件,常用运算符有:
=: 等于
<>: 不等于
>: 大于
<: 小于
>=: 大于等于
<=: 小于等于
LIKE: 模糊匹配
IN: 在一组值中匹配
BETWEEN: 在某个范围内匹配
以下是一个使用WHERE子句的例子,筛选出表中age列大于等于18的记录:
SELECT * FROM table_name WHERE age >= 18;
2.3 ORDER BY子句
ORDER BY子句用于对结果进行排序,默认是升序排序,可以使用DESC关键字进行降序排序。以下是一个例子,按照age列进行降序排序:
SELECT * FROM table_name ORDER BY age DESC;
2.4 GROUP BY子句
GROUP BY子句用于对结果进行分组,常用于与聚合函数一起使用,聚合函数针对每个分组进行计算。以下是一个例子,按照gender列进行分组,计算每组的平均age:
SELECT gender, AVG(age) FROM table_name GROUP BY gender;
3. 判断语句
3.1 IF-THEN-ELSE语句
IF-THEN-ELSE语句是一种条件语句,用于根据条件的结果执行不同的操作。以下是一个例子,如果age大于等于18,则执行第一个代码块,否则执行第二个代码块:
IF age >= 18 THEN
dbms_output.put_line('成年人');
ELSE
dbms_output.put_line('未成年人');
END IF;
3.2 CASE语句
CASE语句也是一种条件语句,可以根据不同的条件执行不同的操作,不同的是,CASE语句不仅可以判断相等的条件,还可以使用范围、条件组合等方式进行判断。以下是一个例子,根据不同的性别输出不同的问候语:
CASE gender
WHEN 'male' THEN
dbms_output.put_line('Hello, sir!');
WHEN 'female' THEN
dbms_output.put_line('Hello, madam!');
ELSE
dbms_output.put_line('Hello, unknown person!');
END CASE;
3.3 NULL条件判断
在Oracle中,NULL表示“未知值”,无法与任何值进行相等或不相等比较,因此需要使用IS NULL和IS NOT NULL进行判断。以下是一个例子,输出age为NULL的记录:
SELECT * FROM table_name WHERE age IS NULL;
4. 总结
本文介绍了Oracle常用的查询和判断语句,包括SELECT语句、WHERE子句、ORDER BY子句、GROUP BY子句、IF-THEN-ELSE语句、CASE语句和NULL条件判断。在实际应用中,可以根据具体的需求选择适合的语句进行操作。