oracle数据库之sql语句使用

SCOTT E-R模型图

DEPT 部门表             EMP 雇员表               BONUS 奖金表         GRADE 工资等级

DEPTNO 部门编号         EMPNO    雇员编号         ENAME 雇员名称     GRADE  工资等级

DNAME  部门名称        ENAME    雇员名称         JOB 工作职位          LOSAL   最低薪资

LOC    部门位置       JOB      工作职位         SAL  薪资            HISAL  最高薪资

MGR      领导编号         COMM 奖金

HIREDATE 雇用日期

SAL      薪资

COMM     奖金

DEPTNO   部门编号

语法结构

select 列名/表名     ---用于从表中选取数据

from  表名

where 条件

例子 select * from tab;  列出所有表

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1.select 语句

select 列名称 from 表名称

select * from 表名称

例子1:列出emp中所有员工名

SQL> select ename from emp;

ENAME

----------

SMITH

ALLEN

WARD

JONES

MARTIN

BLAKE

CLARK

SCOTT

KING

TURNER

ADAMS

ENAME

----------

JAMES

FORD

MILLER

14 rows selected.

例子2:列出emp表的所有信息

SQL> select * from emp;

EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------

7369 SMITH      CLERK      7902 17-DEC-80    800

20

7499 ALLEN      SALESMAN      7698 20-FEB-81   1600        300

30

7521 WARD       SALESMAN      7698 22-FEB-81   1250        500

30

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2.distinct语句  ---用于返回唯一不同的值

语法:select distinct 列表名 from 表名称

例子:列出emp表中所有不重名的员工

SQL> select distinct ename from emp;

ENAME

----------

ALLEN

JONES

FORD

CLARK

MILLER

SMITH

WARD

MARTIN

SCOTT

TURNER

ADAMS

ENAME

----------

BLAKE

KING

JAMES

14 rows selected.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

3.where语句

语法:select 列表名 from 表名称 where 列 运算符 值

操作符

=  等于

<> 不等于

>  大于

<  小于

>= 大于等于

<= 小于等于

between。。and 。。  在某个范围内

like    搜索某种模式

例子:列出emp表中员工名为scott的所有信息

SQL> select * from emp where ename=‘SCOTT‘;

EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------

7788 SCOTT      ANALYST      7566 19-APR-87   3000

20

字符使用单引号,数值不用引号

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

4.and&or运算符   ----用于基于一个以上的条件对记录进行过滤

可在where子语句中把两个或多个条件结合起来

如果第一个条件和第二个条件都成立,则and运算符显示一条记录

如果第一个条件和第二个条件只有一个成立,则or运算符显示一条记录

例子1:and  --列出emp表中员工名为king且工资为5000的所有信息

SQL> select * from emp where ename=‘KING‘ and sal=5000;

EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------

7839 KING       PRESIDENT   17-NOV-81   5000

10

例子2:or   ---列出emp表中员工名为king或工资为3000的员工的所有信息

SQL> select * from emp where ename=‘KING‘ or sal=3000;

EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------

7788 SCOTT      ANALYST      7566 19-APR-87   3000

20

7839 KING       PRESIDENT   17-NOV-81   5000

10

7902 FORD       ANALYST      7566 03-DEC-81   3000

20

例子3:and&or   ---列出emp表中员工名为scott或king的并且工资为3000的员工所有信息

SQL> select * from emp where (ename=‘SCOTT‘ or ename=‘KING‘) and sal=3000;

EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

DEPTNO

----------

7788 SCOTT      ANALYST      7566 19-APR-87   3000

20

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

5.order by语句

order by语句用于根据指定的列队结果集进行排序,默认升

desc 为降序

asc为升序

例子1:按工资由高到低进行排序

SQL> select ename,sal from emp order by sal desc;

ENAME  SAL

---------- ----------

KING 5000

FORD 3000

SCOTT 3000

JONES 2975

BLAKE 2850

CLARK 2450

ALLEN 1600

TURNER 1500

MILLER 1300

WARD 1250

MARTIN 1250

ENAME  SAL

---------- ----------

ADAMS 1100

JAMES  950

SMITH  800

14 rows selected.

例子2:按工资由低到高进行排序

SQL> select ename,sal from emp order by sal asc;

ENAME  SAL

---------- ----------

SMITH  800

JAMES  950

ADAMS 1100

WARD 1250

MARTIN 1250

MILLER 1300

TURNER 1500

ALLEN 1600

CLARK 2450

BLAKE 2850

JONES 2975

ENAME  SAL

---------- ----------

SCOTT 3000

FORD 3000

KING 5000

14 rows selected.

时间: 2025-01-01 21:31:18

oracle数据库之sql语句使用的相关文章

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

Oracle数据库入门——sql语句和函数详解

一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) );   --修改tb_stu表数

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

Oracle数据库的sql语句性能优化

在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要问题之一.系统优化中一个很重要的方面就是sql语句的优化.对于海量数据,劣质sql语句和优质sql语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的sql语句,提高系统的可用性. Oracle的sql调优第一个复杂的主题,甚至需要长

oracle数据库入门sql语句

数据库: 命名规范问题 依然是 _流.看来也确实应该抽空 来处理一下 今天吧,不行时间不能浪费.要更加专注.累了 就睡,醒来 就 好好 弄东西.白天 哪怕累一些,强度 大一些,晚上也可以抽空出去.溜溜弯儿. 雷哥 问了一个 问题: Char 跟 varchar 有什么区别.如果 char 里面 定了4位.存了 一个 汉字,就是 两位.但是 在数据库空间依然是 4位.后面用空格补齐.但是 varchar 里面 假设定了 4位的长,存了一个 汉字 占了两位,这时候 在数据库中就只占2两位.所以 在空

Oracle 数据库常用SQL语句(2)查询语句

一.SQL基础查询 1.select语句 格式:select 字段 from 表名; 2.where 用于限制查询的结果. 3.查询条件 > < >= <= = != 4.与 或(AND,OR) 5.在 不在(IN,NOT IN) 练习:查询工号为1,9,11,16且工资低于1000的员工. 6.在 [a,b] (between val1 and val2) 查询工资大于1000,小于1500的员工. select * from s_emp where salary between

解决oracle数据库删除sql语句出现^H字样

1:安装readline包 yum install readline* 2:安装源码包: rlwrap-0.30.tar.gz ./configure && make && make install 3:修改oracle用户的环境变量: alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'

ORACLE数据库的SQL语句之约束——基础篇

/*修改用户密码:1.输入cmd打开dos窗口2.sqlplus/nolog3.conn/as sysdba4.alter user system identified by orcl;*/ /**数据完整性指存储在数据库中的所有数据值均正确的状态.如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性*/ CREATE TABLE tb_student(NAME VARCHAR2(18),sex CHAR(3),age INT,address VARCHAR2(100),phone

oracle数据库常用SQL语句

1)删除表的一列 ALTER TABLE 表名 DROP COLUMN 列名; 2)增加表的一列 且默认值为0alter table 表名 add 字段名 类型 default '0'; 3)修改表的字段为NULLALTER TABLE 表名 MODIFY 要修改的字段名字 NULL; 4)修改表的字段名alter table 表名 rename column 原字段名 to 目标字段名;