设为首页 加入收藏

TOP

Oracle数据库的基本查询(一)
2019-03-23 22:08:03 】 浏览:144
Tags:Oracle 数据库 基本 查询

Oracle数据库  ---> 数据库实例  --->  表空间(逻辑单位)(用户)  ---> 数据文件(物理单位)
可以理解为下面
地球    ---> 一个国家    --->  省份(逻辑单位)(公民)    ---> 山川河流(物理单位)


通常情况下,Oracle数据库只会有一个实例ORCL,


新建一个项目:
    MYSQL : 创建一个数据库,创建相应的表
    Oracle: 创建一个表空间,创建用户,用户去创建表
   
Oracle和MYSQL的差别


Oracle是多用户的, MYSQL是多数据库的


1. 遵循SQL标准
2. 不同厂商,不同的数据库产品,但是有自己的方言
3. 使用自己的方言,也能够完成相同的功能
4. Oracle安全级别要高,MYSQL开源免费


复制代码
select * from tab;


/*
数据库  ---> 数据库实例  --->  表空间(逻辑单位)(用户)  ---> 数据文件(物理单位)


地球    ---> 一个国家    --->  省份(逻辑单位)(公民)    ---> 山川河流(物理单位)


通常情况下,ORacle数据库只会有一个实例ORCL,


新建一个项目:
    MYSQL : 创建一个数据库,创建相应的表
    Oracle: 创建一个表空间,创建用户,用户去创建表
   
Oracle和MYSQL的差别


Oracle是多用户的, MYSQL是多数据库的


1. 遵循SQL标准
2. 不同厂商,不同的数据库产品,但是有自己的方言
3. 使用自己的方言,也能够完成相同的功能
4. Oracle安全级别要高,MYSQL开源免费


*/
/*
基本查询:
  SQL : 结构化查询语言
 
  请听题: 请说一下SQL的分类以及每类常见的操作符都有哪些
  四类:
        DDL : 数据定义语言 create alter drop truncate

/>        DML : 数据操纵语言 insert update delete
        DCL : 数据控制语言 安全 授权 grant revoke
        DQL : 数据查询语言 select from子句 where子句
       
  查询语句的结构:
 
  select [列名] [*] from 表名 [where 条件] [group by 分组条件] [having 过滤] [order by 排序]
*/
select * from emp;


select 1+1;  --在Oracle等于报错 ,在MYSQL中输出结果是2


/*
    dual : oracle中的虚表 ,伪表, 主要是用来补齐语法结构
   
*/
select 1+1 from dual;


select * from dual;


select 1 from emp;
--直接写一个常量比写 * 要高效
select count(1) from emp;
select count(*) from emp;


/*
      别名查询: 使用as 关键字, 可以省略
      别名中不能有特殊字符或者关键字, 如果有就加双引号
     
*/
select ename 姓名, sal 工资 from emp;


select ename "姓      名", sal 工资 from emp;


/*
      去除重复数据 distinct
      多列去除重复: 每一列都一样才能够算作是重复
*/
--单列去除重复
select distinct job from emp;


--多列去除重复的
select distinct job,deptno from emp;


--查询中四则运算
select 1+1 from dual;


--查询员工年薪  = 月薪* 12
select sal*12 from emp;


--查询员工年薪+奖金
select sal*12 + comm from emp;
--nvl 函数 : 如果参数1为null  就返回参数2
select sal*12 + nvl(comm,0) from emp;


/*
    注意: null值 , 代表不确定的 不可预知的内容 , 不可以做四则运算
*/


/*
字符串拼接:
    java : + 号拼接
    Oracle 特有的连接符: || 拼接
   
    在Oracle 中 ,双引号主要是别名的时候使用, 单引号是使用的值, 是字符
   
    concat(str1,str2) 函数, 在mysql和Oracle中都有
*/
--查询员工姓名 :  姓名:SCOTT
select ename from emp;
--使用拼接符
select '姓名:' || ename from emp;


--使用函数拼接
select concat('姓名:',ename) from emp;


/*
    条件查询 : [where后面的写法] 
        关系运算符: > >= = < <= != <>
        逻辑运算符: and or not
        其它运算符:
              like 模糊查询
              in(set) 在某个集合内
              between..and.. 在某个区间内
              is null  判断为空
              is not null 判断不为空
*/
--查询每月能得到奖金的员工信息
select * from emp where comm is not null;


--查询工资在1500--3000之间的员工信息
select * from emp where sal between 1500 and 3000;


select * from emp where sal >= 1500 and sal <= 3000;


--查询名字在某个范围的员工信息 ('JONES','SCOTT','FORD') in
select * from emp where ename in ('JONES','SCOTT','FORD');


 
编程开发网

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle 11g 分区表创建(自动按年.. 下一篇CentOS 6.5下MySQL MHA 报错解决..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }