使用SELECT语句检索数据
select指令适用于SQL数据库
SELECT 语句用于从数据库中选取数据。(指令不分大小写,选择的值除名字和一些有特殊意义的字符可不分大小写,from结束时一定要加;)

1.用法
select column_name from table_name;
1
select 标识选择那些列
from 标识从哪个表中选择

实例
SQL> select * from dept ;

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
1
2
3
4
5
6
7
8
查询dept表中每一行的信息(这里的*是每一列的意思)

2.算数表达式
使用算术运算符可以创建包含数字和日期数据的表达式(优先级和数学一样,先乘除后加减,有括号先算括号)

操作符 描述
+ 加号
- 减号
* 乘号
/ 分号
实例
SQL> select sal,sal+2000,ename
2 from emp;

SAL SAL+2000 ENAME
---------- ---------- ----------
800 2800 SMITH
1600 3600 ALLEN
1250 3250 WARD
2975 4975 JONES
1250 3250 MARTIN
2850 4850 BLAKE
1
2
3
4
5
6
7
8
9
10
11
查询emp表中sal,sal+2000,ename的信息

3.空值null
null是一个未知的值,不是0也不是空格(运算时加null是没有结果的)

实例
SQL> select ename,sal,12*sal+comm
2 from emp;

ENAME SAL 12*SAL+COMM
---------- ---------- -----------
SMITH 800
ALLEN 1600 19500
WARD 1250 15500
JONES 2975
MARTIN 1250 16400
BLAKE 2850
CLARK 2450
1
2
3
4
5
6
7
8
9
10
11
12
因为null的未知所以不会输出(若是想计算null这里我们用一个函数nvl( ,)去给nul一个值)

SQL> select ename,sal,12*sal+ nvl(comm,0)
2 from emp;

ENAME SAL 12*SAL+NVL(COMM,0)
---------- ---------- ------------------
SMITH 800 9600
ALLEN 1600 19500
WARD 1250 15500
JONES 2975 35700
MARTIN 1250 16400
BLAKE 2850 34200
CLARK 2450 29400
1
2
3
4
5
6
7
8
9
10
11
12
nvl(,)函数用于规定如何处理nvll值,给null赋一个值

4.定义列别名
给列重新定义个列别名(除数字外,其他字符需加" ")

select column_name as "column"
from table_name;
1
2
给列定义别名时需在原有的列名后加 as ""或者直接空格加新的列名(只是临时定义,不是永久保存)

5. || 连接符
|| 把列与列连接起来,除数字以外字符需要加’’(||前后都要加空格)

SQL> select 'my name is ' || ename
2 from emp;

'MYNAMEIS'||ENAME
---------------------
my name is SMITH
my name is ALLEN
my name is WARD
my name is JONES
my name is MARTIN
my name is BLAKE
my name is CLARK
1
2
3
4
5
6
7
8
9
10
11
12
把表格内容用短语的形式输出

6.去重distinct
distinct去除列重复的值

SQL> select distinct job,deptno
2 from emp;

JOB DEPTNO
--------- ----------
MANAGER 20
PRESIDENT 10
CLERK 10
SALESMAN 30
ANALYST 20
1
2
3
4
5
6
7
8
9
10
查看某列的信息去除重复的值

本文只适用于学习oracle数据库的初期阶段
---------------------

最新文章

  1. 百度地图隐藏BMKAnnotationView
  2. 设计模式学习之原型模式(Prototype,创建型模式)(5)
  3. 对页面制定区域进行打印,以及打印不显示页脚URL的方法
  4. LA 4126 Password Suspects
  5. TortoiseGit安装和使用的图文教程
  6. 用MT.exe将exe中的manifest文件提取出来和将manifest文件放入exe中
  7. CTSC1999补丁VS错误题解
  8. Integer to Roman(JAVA)
  9. Android进阶(二十三)Android开发过程之实例讲解
  10. Postgresql中临时表(temporary table)的特性和用法
  11. JDK中的Atomic包中的类及使用
  12. spring mvc 简单的文件上传与下载
  13. Bayesian Personalized Ranking 算法解析及Python实现
  14. Windows下Oracle创建数据库的3种方式
  15. C#多线程的用法8-线程间的协作AutoResetEvent
  16. 第三个Sprint ------第一天
  17. Writing your first Django
  18. 资源打包Assetbundle .
  19. C1WPF制作OLAP Cube浏览工具
  20. 14. Android框架和工具之 ImageLoader(图片加载)

热门文章

  1. Python爬虫开发【第1篇】【HTTP与HTTPS请求与响应】
  2. 利用runtime检測这个对象是否存在某属性?
  3. js全局替换空格,制表符,换行符
  4. Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] B. Finding Team Member 排序
  5. gitlab邮箱验证 邮箱提醒设置
  6. 34.无废话ExtJs 入门教程十八[树:TreePanel]
  7. eclipse maven创建web项目
  8. bzoj 1093: [ZJOI2007]最大半连通子图【tarjan+拓扑排序+dp】
  9. 【原创】Eclipse实现图形化界面插件-vs4e
  10. Linux学习笔记之Linux目录结构、磁盘命名、启动过程