尚学堂马士兵Oracle学习笔记之一:基本select语句

01_sqlplus_introduction.avi

Oracle需要了解的第一个:sqlplus,当启动sqlplus需要让你输入,用户名口令字符串

Sqlplus是Oracle的一个客户端,Oracle大多数的东西都是在命令行执行,

输入用户名:scott 口令:tiger,进入oracle命令行

3个界面:图形版界面,命令行界面,

网页界面(isqlplus):在浏览器地址栏输入:http://127.0.0.1:5560/isqlplus/输入用户名:scott 口令:tiger进入

有一个著名的oracle客户端叫toad

Oracle还有一个客户端plsql develement 

02_unlock_user.avi

使用超级管理员登录到数据库上:sqlplus sys/bjsxt assysdba à 当成DBA登录到服务器上

连上之后

更改user :alteruser scott account unlock; 更改用户 解除锁定 

03_table_structures.avi

SQL语言

Sql语言是在数据库地下进行操作的专门的语言,sql语言本身是一种标准语言,它是一个国际标准,它定义了套标准SQL1922, SQL1999,SQL在大多数数据库上通用,或许有轻微的改变

包含四大语句:

1. 查询语句

查询语句只有一种就是select语句

2. DML语句

DML语句包含Insert,Update,Delete等常用语句

3. DDL语句

DDL语句包含Create, Alter, Drop等常用语句

4. 事务控制语句

包含Commit,Rollback等常用语句

还有一大类语句:叫DCL语句(DataControl Language),主要用于权限的分配与回收,由于与开发关系不是十分密切,不做重点讲解 

最重要的就是select语句,任何select语句全部要背过,select语句必考,不会考其它的

Select语句就是从表里把数据选出来

首先熟悉试验中的数据

第一条语句:descemp;à desc 表名; 列出 表头 == 字段 == 列

Varchar2 à 可变字符串à支持国际化

NUMBER(7,2)à 7位的数字,2位的小数

每行显示的宽度setlinesize 200;

显示的页数 setpagesize 30; 

emp雇员信息表

EMPNO  雇员编号NOT NULL NUMBER(4)

ENAME  雇员姓名 VARCHAR2(10)

JOB  工作岗位 VARCHAR2(9)

MGR   该雇员经理人的编号 NUMBER(4)

HIREDATE  入职时间 DATE

SAL 薪水NUMBER(7,2)

COMM 津贴NUMBER(7,2)

DEPTNO 雇员所在部门编号 NUMBER(2)

表内容:

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

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

7369 SMITH  CLERK 7902 17-12月-80 800 20

7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30

7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30

7566 JONES MANAGER 7839 02-4月 -81 2975 20

7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30

7698 BLAKE MANAGER 7839 01-5月 -81 2850 30

7782 CLARK MANAGER 7839 09-6月 -81 2450 10

7788 SCOTT ANALYST  7566 19-4月 -87 3000 20

7839 KING PRESIDENT 17-11月-81 5000 10

7844 TURNER SALESMAN 7698 08-9月 -81 1500 0  30

7876 ADAMS CLERK 7788 23-5月 -87 1100 20

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

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

7900 JAMES CLERK 7698 03-12月-81 950 30

7902 FORD ANALYST 7566 03-12月-81 3000  20

7934 MILLER CLERK 7782 23-1月 -82 1300 10

 deptà部门信息表

DEPTNO 部门编号NOT NULL NUMBER(2)

DNAME 部门名字VARCHAR2(14)

LOC 部门所在地 VARCHAR2(13)

内容:

DEPTNO DNAME LOC

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

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

 30 SALES CHICAGO

40 OPERATIONS BOSTON

 salgrade薪水等级表

GRADE 薪水等级NUMBER

LOSAL 该等级的最低薪水值 NUMBER

HISAL 该等级的最高薪水值  NUMBER

内容:

GRADE LOSAL HISAL

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

1 700 1200

2 1201 1400

3 1401 2000

4 2001 3000

5 3001 9999

 熟悉表里面的数据:

第一个select语句:select* from 表名;

Select * from emp;

04_select_1.avi

1.简单select语句:

例子1:取出一张表中所有的数据

Select * from emp;

例子2:取出某些字段的值

Select empno, ename, deptno from emp;

2.包含算术表达式的sql语句

例子1:取出emp中所有人的年薪及名字

Select ename , sal*12 from emp;

例子2:在emp表中取出2*3的结果

Select 2*3 from emp;

例子3:取出2*3的一条记录

 Select2*3 from dual;--当我们需要显示一个结果的时候就用系统提供的dual虚表

例子4:取出当前系统时间

Select sysdate from dual;--sysdate在Oracle中表示当前系统时间

3.含有别名的sql语句

例子1:selectename, sal*12 annual_sal from emp;

例子2:如果想让别名强制大小写混合可以使用双引号

Select ename, sal*12 “Annual_sal” from emp;

例子3:如果想让别名中有空格也使用双引号

Select ename, sal*12 “Annual sal” from emp;

5.处理含有空值的字符串

例子1:算某人一年的年薪à含有任何null值的数学表达式最后的结果都为null

Select ename, sal*12+comm from emp

例子2:含有任何null值的字符串表达式中,null被当作空字符串处理

select empno, ename ||'and his manager numberis '|| mgrfrom emp;

字符串连接符:||

Select语句中用单引号表示字符串

6.在select中使用单引号

例子1:用两个单引号表示一个单引号

select empno, ename || ' ''s manager is ' || mgr from emp;

05_distinct.avi

7.消除重复值

例子1:select distinctdeptno from emp;--用distinct消除结果集中的重复信息

例子2:用distinct修饰多个字段的时候,指的是消除后面所有字段的组合重复结果

Select distinct job, deptno from emp;--指job和deptno都相同的删除

06_where.avi

使用where对数据库设定条件限制,where过滤条件,过滤相关的数据

1. 等值判断

例子1:显示部门编号为10的所有员工的详细信息

select * from emp where deptno = 10;

例子2:显示名字为KING的员工的详细信息

判断字符串是否相等时,字符串要用单引号引起来,单引号中字符串内容是要区分大小写的

Select * from emp where ename = ‘KING’;

2. 非等值判断> < >= <= <>

例子1:取出薪水大于2000的所有员工的名字和薪水

Select ename, sal from emp where sal>2000;

例子2:字符串大小比较:是比较字符串ASCII码值的比较,先比较第一字母,依次……

Select ename, sal from emp where ename >‘DBA’;

例子3:取出所有部门号不是10的雇员的名字和薪水

Select ename, sal from emp wheredeptno<> 10;

例子4:取出薪水位于800和1500之间的雇员名字和薪水

Select ename, salfrom emp where sal >= 800and sal =< 1500;

Select ename, salfrom emp where sal between800 and 1500;

注意:使用betweenand 的时候,包含了最大值和最小值

3. 空值的处理

例子1:取出津贴值为空的所有雇员的名字

Select ename fromemp where comm is null;

例子2:取出津贴不为空的所有雇员的名字

Select ename fromemp where comm is not null;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值