sql查询语句(ORACLE):基本的查询语句

Posted on 2016-04-07 23:51  yearn10086  阅读(154)  评论(0)    收藏  举报

SQL:结构化查询语言

分为如下三块:

DML:数据操作语言----------------增删改查

DDL:数据定义语言----------------创建表,修改表,创建,删除索引,添加,修改,删除列长度

DCL:数据控制语言----------------commit,rollback,控制数据的访问

plsql developer修改编辑器背景颜色:tools---preference-=interface user=-fonts

查看一个表里面都有那些字段和字段属性:desc employees;

SQL> desc employees;
Name Type Nullable Default Comments
-------------- ------------ -------- ------- --------
EMPLOYEE_ID NUMBER(6)
FIRST_NAME VARCHAR2(20) Y
LAST_NAME VARCHAR2(25)
EMAIL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20) Y
HIRE_DATE DATE
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2) Y
COMMISSION_PCT NUMBER(2,2) Y
MANAGER_ID NUMBER(6) Y
DEPARTMENT_ID NUMBER(4) Y

 

注意:plsql语言大小写不敏感,可以换行写,关键字不能换行写,不能被缩写

 

1:基本sql的select语句

1):查询表里面所有的列:select * from employees;

2):查询其中的某几列:select EMPLOYEE_ID,FIRST_NAME from employees;

 

数字和日期可以使用算数运算符:+ - * /(先乘除,后加减,有小括号先算小括号);日期只能做+ ,-,不能做*,/

SQL> select 8*8 from dual;
8*8
64

----------

SQL> SELECT EMPLOYEE_ID,FIRST_NAME,12*SALARY+10000,HIRE_DATE+1 FROM EMPLOYEES;
EMPLOYEE_ID FIRST_NAME 12*SALARY+10000 HIRE_DATE+1
----------- -------------------- --------------- -----------
100 Steven 298000 1987/6/18
101 Neena 214000 1989/9/22
102 Lex 214000 1993/1/14
103 Alexander 118000 1990/1/4
104 Bruce 82000 1991/5/22

 

SQL> SELECT SYSDATE,SYSDATE-1,SYSDATE+1 FROM DUAL;
SYSDATE SYSDATE-1 SYSDATE+1
----------- ----------- -----------
2016/4/7 23 2016/4/6 23 2016/4/8 23

 

 

=============================================================

空值不同于0,凡是空值参与的运算结果都为null

比如:若kpi为null,则salary*(1+kpi)结果都为null

=============================================================

SQL> select employee_id as id,first_name "LAST NAME",salary sl FROM EMPLOYEES;
ID LAST NAME SL
------- -------------------- ----------
100 Steven 24000.00
101 Neena 17000.00
102 Lex 17000.00

 

 

连接符:把列与列,列与字符,链接在一起,用 ||  表示;可以用来合成列

QL> select last_name||'的工资是:'||salary from employees;
LAST_NAME||'的工资是:'||SALAR
---------------------------------------------------------------------------
King的工资是:24000
Kochhar的工资是:17000
De Haan的工资是:17000
Hunold的工资是:9000
Ernst的工资是:6000
Austin的工资是:4800
Pataballa的工资是:4800
Lorentz的工资是:4200
Greenberg的工资是:12000

 

sql中除了别名是使用双引号,其他像字符串,日期都是使用单引号

 

默认情况下,查询会返回全部行,包括重复行,distinct放置的位置有要求

SQL> select distinct last_name,department_id from employees;
LAST_NAME DEPARTMENT_ID
------------------------- -------------
Kochhar 90
Lorentz 60
Chen 100
Urman 100

 

sql与sqlplus区别

sql:一种语言,关键字不能缩写

sqlplus:一种工具,oracle特有的特性之一,关键字可以缩写(desc,ed)

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3