文章目录
一、查询语句概述
1、查询语句基本语法格式
SELECT [ ALL | DISTINCT ] [ * | [table.* | expr[alias] | view.*] [, [ table.* | expr[alias]]]...]
FROM table [ alias ][ ,table[ alias ] ]...
[ WHERE condition]
[ GROUP BY expr [, expr] ...]
[ HAVING condition]
[ ORDER BY expression [ ASC | DESC ] ]
2、伪表和伪劣
1)伪表dual
SQL的标准语法规定,查询语句必须至少有2个子句,即SELECT子句和FROM子句, Oracle数据库中就提供了一个表以便从语法上支持查询语句的完成,即dual表。
2)伪列
Oracle数据库为了增强其功能,提供了一组数据列,这些列是由Oracle数据库自动创建的,从形式上看这些列与表的普通列没有什么区别,但实际上它们并不存储在表中,可以使用查询语句从这些列中查询到数据,但是不能对其进行插入、更新或删除操作,因为这些列不是真实的存在于表中,因此称之为伪列。
二、单表查询
1、select子句
1)查询全部列的数据
在SELECT后使用星号(*)表示将查询FROM子句中指定表或视图的所有列。
如果想保证效率,不要使用星号
SELECT * FROM diploma;
--等同于SELECT diplpma_id, diplpma_name FROM diploma
2)查询指定列的数据
在SELECT子句后加上表或视图的列名可以从表或视图的指定列中查询数据。
SELECT t_id, t_name, t_entertime, t_duty, t_research FROM teacher;
3)使用内置函数
在SELECT子句中使用Oracle数据库的内置函数,可以对结果列进行处理。
SELECT s_id, s_name, s_classname, NVL(s_duty, '没有职务') FROM student;
4)使用算数表达式
在SELECT子句中也可以使用算数表达式,以实现对一列或多列的计算。
SELECT s_id, s_name, s_classname, s_chinese+ s_math + s_foreign FROM student;
5)使用常量和连接运算符
在SELECT子句中使用常量可以使结果具有一定的含义,常量与表的列之间通常使用双竖线(||)来做为连接运算符,以更清楚地表达返回结果的实际意思(此条是Oracle数据库的语法,其它数据库可能有其它规定)。
SELECT '学生学号是:' ||</