select指令适用于SQL数据库
SELECT 语句用于从数据库中选取数据。(指令不分大小写,选择的值除名字和一些有特殊意义的字符可不分大小写,from结束时一定要加;)
1.用法
select column_name from table_name;
select 标识选择那些列
from 标识从哪个表中选择
实例
SQL> select * from dept ; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
查询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
查询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
因为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
nvl(,)函数用于规定如何处理nvll值,给null赋一个值
4.定义列别名
给列重新定义个列别名(除数字外,其他字符需加" ")
select column_name as "column" from table_name;
给列定义别名时需在原有的列名后加 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
把表格内容用短语的形式输出
6.去重distinct
distinct去除列重复的值
SQL> select distinct job,deptno 2 from emp; JOB DEPTNO --------- ---------- MANAGER 20 PRESIDENT 10 CLERK 10 SALESMAN 30 ANALYST 20
查看某列的信息去除重复的值
本文只适用于学习oracle数据库的初期阶段
发表评论 取消回复