一、基本查询语句

(1)查看当前用户

show user;

 

(2)查看当前用户下的表

select * from tab;

 

(3)查看员工表的结构

desc emp;

 

(4)选择全部列

SELECT * FROM emp;

 

(5)选择特定的列

SELECT empno,ename,sal,comm,deptno FROM emp;

 

(6)定义空值

a: 空值是无效的,未指定的,未知的的值。

b: 空值不是空格或者0.

c: 包含空值的数据表达式的值都是空值。

--空值不同于0,凡是空值参与运算的都是空值--
select employee_id,
last_name,
salary,
commission_pct,
salary * (1 + commission_pct)
from employees;

 

改写后:

--nvl函数--
--格式: nvl(E1,E2)--
--解释: 如果E1为NULL,则函数返回E2,否则就返回E1。--
select employee_id,
last_name,
salary,
commission_pct,
salary * (1 + nvl(commission_pct,0))
from employees;

 

(7)使用别名

a:在列名后直接写。

b:在列名和别名之间添加关键字As。

c:使用双引号。

--使用别名--
select employee_id id,
last_name as name,
12*salary "annual_sal"
from employees;

 

(8)删除重复行

--使用关键字"DISTINCT"删除重复行--
select distinct department_id
from employees;

 

二、过滤和排序

(1)where子句

a:使用where子句,将不满足条件的行过滤掉。

b:where子句紧随from子句。

select employee_id,last_name,salary
from employees
where employee_id > 200;

 

(2)字符和日期

a:字符和日期要包含在单引号中。

b:字符大小写敏感,日期格式敏感。

c:默认日期格式是: DD-MM月-YYYY。

select employee_id, last_name, salary, hire_date
from employees
where hire_date='17-9月-1987';

 

这样写不方便,我们通常这样写:

select employee_id, last_name, salary, hire_date
from employees
where to_char(hire_date,'yyyy-mm-dd')='1987-09-17';

 

(3)比较运算

select employee_id, last_name, salary, hire_date
from employees
where salary >= 6000 and salary < 7000;

 

(4)between

     使用between运算来显示在一个区间内的值。

select employee_id, last_name, salary, hire_date
from employees
where salary between 6000 and 7000;

 

(5)in

     使用in运算显示列表中的值。

select employee_id, last_name, salary, department_id
from employees
where department_id in(70,80,90);

 

(6)LIKE

a: like选择类似的值。

b: "%"代表0个或多个字符。

c: "_"代表一个字符。

 select employee_id, last_name
from employees
where last_name like 'S%';

 

(7)null

     使用 is null判断空值。

 select employee_id, last_name,manager_id
from employees
where manager_id is null;

 

(8)逻辑运算

 

(9)order by

asc:升序

desc:降序

order by在select语句的结尾。

--desc:从高往低--
--asc:从低往高,默认--
--工资从低往高,如果相同再按名字排序--
select employee_id, department_id,last_name, salary
from employees
where department_id = 80
order by salary asc,last_name asc;

Oracle的基本学习(二)—基本查询的更多相关文章

  1. Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况

      运行环境:Oracle database 11g + PL/SQL Developer ex: --创建一个表 create table plspl_test_product( --加入not n ...

  2. Oracle 数据库基础学习 (六) 子查询

    子查询在一个select中出现多个嵌套查询语句 1.在where子句中使用子查询(一般返回"单行单列" "单行多列" "多行单列"(可以提供 ...

  3. mongodb学习(二)分级查询数组中的值

    (PS: 标题有点不妥当...) 大概是这样...数据结构如下: 需要模糊查询title的值... mongodb中操作语句: 主要是注意这里urlElements不需要加[0]...我开始的时候写成 ...

  4. 蜗牛—ORACLE基础之学习(二)

    如何创建一个表,这个表和还有一个表的结构一样但没有数据是个空表,旧表的数据也插入的 create table newtable as select * from oldtable 清空一个表内的数据 ...

  5. oracle 基础语法(二)

    一.实现分页 说明以下tablename是同一表.这些操作是对同一表(tablename)的操作 ======================================= 如何实现分页提取记录 ...

  6. 学习SQL关联查询

    通过一个小问题来学习SQL关联查询 原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1, ...

  7. Oracle笔记(1) 简单查询、限定查询、数据的排序

    Oracle笔记(四) 简单查询.限定查询.数据的排序   一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...

  8. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

  9. oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析

    oracle查看执行最慢与查询次数最多的sql语句 注:本文来源 于<oracle查看执行最慢与查询次数最多的sql语句> 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率 ...

随机推荐

  1. Java开发之Java对数组的复制

    苏格拉底曾说过,“世界上最快乐的事,莫过于为理想而奋斗.”人生短短数十年,何不为梦想而奋斗一把?其实只要主动追求,梦想并不遥远.总有一天,你会把它攥在手里. 作为写的第一篇Java文章,展望一下开始下 ...

  2. nodeJS中读写文件方法的区别

    导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三 ...

  3. iOS回顾笔记(04) -- UIScrollView的基本使用详解

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  4. Servlet中编码在过滤器中的使用

    1.先配置web.xml ->配置过滤器 // filter-class 为写的过滤器类 实现 Filter 接口 <filter> <filter-name>Encod ...

  5. spring知识点全部复习

    一. 专业术语 侵入式设计 引入框架,对现有的类的结构有影响,即需要实现或继承某些特定类.如:Struts框架 非侵入式设计 引入框架,对现有的类结构没有影响.如:Hibernate.Spring 控 ...

  6. 百度推送-sitemap-使用playframework框架实现-java

    主动推送的目的是能够把我们高质量内容推送给百度,但是首先你得有一个属于你自己的网站,在百度站长进行验证通过之后,才有资格推送百度sitemap. 百度站长平台为未使用百度统计的站点提供三种验证方式:文 ...

  7. JavaWeb之JDBC

    一.介绍 C#定义了ADO.Net接口来实现对SQLServer.Oracel等数据库的访问,那Java定义了JDBC接口实现对数据库的访问,数据库提供商只要实现这些接口,Java语言就能访问数据库. ...

  8. PHP生成随机水印图片

    基于PHP的GD图形库,自己生成一张图片.仅限初识GD库,实例学习. 一.需求 网站的布局用到了类似慕课网课程列表的风格,每一个课程是一个banner图,图下面是标题加简介.因为课程的数量较大没有为所 ...

  9. CSS学习笔记汇总

    CSS语法格式:一个css规则,由一个选择器和一个格式声明语句构成    例如:h1{color:red; font-size:14px;} CSS选择器: 1.基本选择器 1)* 号选择器:通配符, ...

  10. 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...