一、基本查询语句

(1)查看当前用户

  1. show user;

 

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

  1. select * from tab;

 

(3)查看员工表的结构

  1. desc emp;

 

(4)选择全部列

  1. SELECT * FROM emp;

 

(5)选择特定的列

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

 

(6)定义空值

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

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

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

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

 

改写后:

  1. --nvl函数--
  2. --格式: nvl(E1,E2)--
  3. --解释: 如果E1NULL,则函数返回E2,否则就返回E1。--
  4. select employee_id,
  5. last_name,
  6. salary,
  7. commission_pct,
  8. salary * (1 + nvl(commission_pct,0))
  9. from employees;

 

(7)使用别名

a:在列名后直接写。

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

c:使用双引号。

  1. --使用别名--
  2. select employee_id id,
  3. last_name as name,
  4. 12*salary "annual_sal"
  5. from employees;

 

(8)删除重复行

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

 

二、过滤和排序

(1)where子句

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

b:where子句紧随from子句。

  1. select employee_id,last_name,salary
  2. from employees
  3. where employee_id > 200;

 

(2)字符和日期

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

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

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

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

 

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

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

 

(3)比较运算

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

 

(4)between

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

  1. select employee_id, last_name, salary, hire_date
  2. from employees
  3. where salary between 6000 and 7000;

 

(5)in

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

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

 

(6)LIKE

a: like选择类似的值。

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

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

  1. select employee_id, last_name
  2. from employees
  3. where last_name like 'S%';

 

(7)null

     使用 is null判断空值。

  1. select employee_id, last_name,manager_id
  2. from employees
  3. where manager_id is null;

 

(8)逻辑运算

 

(9)order by

asc:升序

desc:降序

order by在select语句的结尾。

  1. --desc:从高往低--
  2. --asc:从低往高,默认--
  3. --工资从低往高,如果相同再按名字排序--
  4. select employee_id, department_id,last_name, salary
  5. from employees
  6. where department_id = 80
  7. 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. 【转】对于HttpClient和HtmlUnit的理解

    原文地址:http://www.haohaoblog.com/?p=1327&utm_source=tuicool 做Java编程的人其实,很多不懂SEO,也不知道如何让百度收录等等,当然,对 ...

  2. Linux 下查看CPU的使用情况

    1.top使用权限:所有使用者使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]说明:即时显示process的动态d :改变显示的更新速度,或是在交谈 ...

  3. 关于CSS各种选择器,还有各种引入样式表的区别,import导入样式表,在介绍一些伪类选择器

    (一)CSS选择器: 1.标签选择器:通过HTML的标签名直接选择该标签 2.类选择器:通过.选择器的名称{} 来对添加了class属性的标签进行选中 3.ID选择器:通过#选择器的名称{} 来对添加 ...

  4. 在Windows平台搭建轻巧的Python开发环境——面向工程和科研的扩展包配置

    首先,下载最新版本的Python. 为什么强调最新版本呢,因为新版本的漏洞通常会少得多,而且反映了未来的趋势. 既然要学,何不起点高一点? 官方下载地址:https://www.python.org/ ...

  5. 自定义cell设置现价,原价(加横线)

    原价,现价分别是连个label.这两个label不能直接限制死他们的宽度,因为他们的宽度不确定,而由于lable的特殊性,不设置它的宽度约束时,宽度取决于文字的内容,所以两个lable的约束设置好一些 ...

  6. 3361: [Usaco2004 Jan]培根距离

    3361: [Usaco2004 Jan]培根距离 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 16  Solved: 13[Submit][Sta ...

  7. 扩大按钮 btn 响应区域

    方法一:类别 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0 ...

  8. Python之数据序列化(json、pickle、shelve)

    本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Py ...

  9. 100本最棒的web前端图书推荐

    前端技术,要学习的内容太多了,当你不知道从哪里开始的时候,你就先从看书开始,边看书边码代码,这个是学习编程必须的过程,因为你看一百遍,还不如自己写一遍,写一遍,第一可以加印象,第二便于更好的理解. 熟 ...

  10. ps-图像的符合

    1.将所需要的背景和素材添加到同一个画布中 2.选择素材图层---工具栏---修复画笔工具-----alt+左键,在素材上进行定位 3.切换到背景图层 4.按住鼠标左键并在合适位置进行拖动, 5.松开 ...