简单查询SELECT

查询语句
select * from emp;
select sal,ename,empno from emp;

列中存储数据是英文的, ALTER SESSION SET nls_date_language='AMERICA‘显示英文。

易读性的提升
为了增加易读性,命令关键字一般为大写,而其他部分一般为小写。
为了增加可读性应该把SQL语句中的每一个子句写在一行上,且最好以缩进法来书写。
注意∶  一个完整的SQL命令叫语句(statement),每一个关键字和后面跟着的选项叫子句(clause),例如,"SELECT * FROM emp;"叫语句,而"SELECT *"叫子句,"FROM emp"也叫子句。

列值的算术表达式

SQL> SELECT empno,ename,sal,500+sal
 FROM emp;

SQL> SELECT empno,ename,sal,500+sal*12
 FROM emp;

SQL> SELECT empno, ename,(500+sal)*12  FROM emp;
SELECT empno, ename,
(500+sal)*12 2  FROM emp;

算术运算符的优先级是先乘除后加减
在表达式中同一优先级的运算符计算次序是从左到右;如果使用了括号,括号中的运算优先∶如果有多重括号嵌套,内层括号中的运算优先。

注意∶  当查询比较大的表时应尽可能地避免使用DISTINCT,因为Oracle系统是通过排序的方式来完成DISTINCT这一功能的,所以它会造成Oracle系统的效率降低。通常您可以使用不同的查询语句来完成同样的工作,例如可以使用例1-19的查询语句来得到所需的部
门的信息。

例1-19查询

SQL> SELECT deptno
2  FROM dept;

例1-19查询与前面的查询一样得到了所有的部门号,但对Oracle系统没什么冲击,因为部门号(deptno)在dept表中本身就是惟一的。
SQL> SELECT DISTINCT deptno,job
FROM emp;

DISTINCT运算符

SQL> SELECT DISTINCT deptno
FROM emp;

连接运算符

SQL> SELECT ename ||' annual salary is '||(500+sal)*12 "Employee's Salary"
                FROM emp;

如果使用的是中文操作系统
SQL> SELECT ename ||' 年薪为∶'||(500+sal)*12 "员工的年薪"
 FROM emp;  

列的别名
SQL> SELECT empno AS "Employee Number",
ename name, (500+sal)*12 "Annual Salary"2
 FROM emp;

它减少了输入量。
给一列起一个别名的方法很简单,您只须在列名和别名之间放上AS或空格就可以了。当别名没有被双引号括起来时,别名的显示结果为大写。如果别名中包含了特殊字符,或想让别名原样显示,您就要使用双引号把别名扩起来。

SELECT empno AS "Employee Number",

                ename name, (500+sal)*12 "Annual Salary"

        FROM emp;

列值的默认显示格式
在本章开始时,已经看到了由于字符集的不同使日期型的显示有些问题。为了解决这个问题可以使用例1-7的SQL语句。
alter session set nls_date_format = 'YYYY-MM-DD';

文本字符串是包含在SELECT子句中的字符、数字或表达式,而不是任何的列名或列的别名。如文本字符是日期型和字符型,您必须将它们用单引号括起来。每个字符串在每行输出结果中都输出一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值