Chinaunix首页 | 论坛 | 博客
  • 博客访问: 390775
  • 博文数量: 25
  • 博客积分: 496
  • 博客等级: 下士
  • 技术积分: 815
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-01 11:18
文章分类
文章存档

2014年(2)

2013年(6)

2012年(17)

分类: Oracle

2012-08-29 10:42:42

 

 

学习环境配置:http://blog.chinaunix.net/uid-26230811-id-3330279.html

 

基本SELECT语句

  1. SELECT *|{[DISTINCT] column|expression [alias],...} FROM table;


 

  1. SQL> conn teach/oracle
  2. SQL> select * from departments;

  3. DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID
  4. ------------- ------------------------------ ---------- -----------

  5.            10 Administration 200 1700
  6.            20 Marketing 201 1800
  7.            50 Shipping 124 1500
  8.            60 IT 103 1400
  9.            80 Sales 149 2500
  10.            90 Executive 100 1700
  11.           110 Accounting 205 1700
  12.           190 Contracting 1700

  13. 8 rows selected.

选择指定列

  1. SQL> SELECT department_id, location_id FROM departments;

  2. DEPARTMENT_ID LOCATION_ID
  3. ------------- -----------

  4.            10 1700
  5.            20 1800
  6.            50 1500
  7.            60 1400
  8.            80 2500
  9.            90 1700
  10.           110 1700
  11.           190 1700

  12. 8 rows selected.

编写SQL语句:

  • SQL语句是不区分大小写的。
  • SQL语句可以在一个或多个行。
  • 关键字不能缩写或者跨越线。
  • 子句通常放在独立的行。
  • 缩进是为了增强可读性。

 

算术运算式


 

使用算术运算符

 

  1. SQL> SELECT last_name, salary, salary + 300 FROM employees;

  2. LAST_NAME SALARY SALARY+300
  3. ------------------------- ---------- ----------

  4. King 24000 24300
  5. Kochhar 17000 17300
  6. De Haan 17000 17300
  7. Hunold 9000 9300
  8. Ernst 6000 6300
  9. ……

运算符优先级

  • 乘法和除法优先于加法和减法。
  • 操作符相同的优先级从左向右计算。
  • 括号用于强制优先求值和声明。


 

点击(此处)折叠或打开

  1. SQL> SELECT last_name, salary, 12*salary+100 FROM employees;

  2. LAST_NAME SALARY 12*SALARY+100
  3. ------------------------- ---------- -------------

  4. King 24000 288100
  5. Kochhar 17000 204100
  6. De Haan 17000 204100
  7. Hunold 9000 108100
  8. Ernst 6000 72100
  9. Lorentz 4200 50500
  10. Mourgos 5800 69700
  11. ……

使用括号

SQL> SELECT last_name, salary, 12*(salary+100) FROM   employees;


 

Defining a Null Value

  • null代表不在,未分配的,未知的或不适用的
  • null并不等同于零或一个空白的空间。

SQL> SELECT last_name, job_id, salary, commission_pct FROM   employees;


 

在算术表达式中的Null值

SQL> SELECT last_name, 12*salary*commission_pct FROM   employees;



 

定义一个列别名

 

列别名

  • 重命名一个列标题
  • 立即遵循列名称,也可以作为关键字之间的可选的列名称和别名
  • 如果它包含空格或特殊字符或者是大小写敏感的需要双引号括起来

SQL> SELECT last_name AS name, commission_pct comm FROM   employees;

 

SQL> SELECT last_name "Name", salary*12 "Annual Salary" FROM   employees;

连接操作符
 

连接操作符

  • 字符串连接列或其他列
  • 由两个竖线(| |)连接
  • 一个字符表达式创建一个合成列

 

SQL> SELECT  last_name||job_id AS "Employees" FROM   employees;

 

原义字符串

  • 文字是一个字符,一个数字,或一个日期包含在选择列表。
  • 日期和字符文字值必须包含在单引号。

 

SQL> SELECT last_name||' is a '||job_id  AS "Employee Details" FROM   employees;

 

重复行

 

默认显示查询的所有行,包括重复的行。

SQL> SELECT department_id FROM   employees;

 

消除重复的行

 

SQL> SELECT DISTINCT department_id FROM   employees;

 

显示表结构

DESC[RIBE] tablename

练习

 

 一:基本SQL语句.pdf   

阅读(3147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~