• 基本查询语句

    • SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions]

  • 在SQL*PLUS中设置格式

    • 更改显示字段名:COLUMN column_name HEADING new_name   (注意COLUMN能够简写成COL)

      • 比如:

col username heading 用户名;

                                 select * from users;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  • 设置显示结果的格式:COLUMN column_name FORMAT dataformat;  (注意COLUMN能够简写成COL。字符类型仅仅能设置显示的长度)

    • 比如

col username format a10;  注意:字符类型用a代表。a10表示设置字符类型长度为10。数值类型用9表示

                            select * from users;
                            col salary format 9999.9;  注意:数值类型用9表示
                            select * from users;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  • 清除之前设置过的格式:COLUMN column_name CLEAR;

    • 比如:

col username clear;

                            col salary clear;

  • 查询表中的全部字段及指定字段

    • 查询全部字段:SELECT * FROM table_name;
    • 查询指定字段:SELECT column1_name,column2_name... FROM table_name;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  • 给字段设置别名(*给字段设置别名是针对查询结果进行的,并没有更改字段的名字)

    • SELECT column_name AS new_name,... FROM table_name; 注意:AS能够省略。用空格隔开原来的字段名和新字段名就可以。

      • 比如:

select id as 编号,username as 用户名,salary  工资 from users;

  • 运算符和表达式

    • 表达式 = 操作数 + 运算符
    • Oracle中的操作数能够有变量,常量和字段
    • 运算符
      • 算数运算符(+,-。*。/)
      • 比較运算符(>,>=,<,<=,=,<>)
      • 逻辑运算符(and,or,not)。优先级:按not、and、or的顺序依次递减。比較运算符的优先级高于逻辑运算符
  • 在SELECT语句中使用运算符(省略)
  • 带条件的查询
    • 单一条件的查询

      • 查询用户名为aaa的员工薪水:select salary from users where username='aaa';
    • 多条件的查询
      • 查询名字是aaa。或者工资在800到2000之间的员工信息

select * from users where username='aaa' or (salary > 800 and salary <=2000)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  • 模糊查询 LIKE

    • 通配符的使用( _ 、%)

      • 一个 _ 仅仅能代表一个字符
      • %能够代表0到多个随意字符
    • 使用LIKE查询
      • 例:查询用户名以a开头的用户信息。select * from users where username like 'a%';
      • 例:查询用户名的第二个字符是a的用户信息。select * from users where username like '_a%';
      • 例:查询用户名中含有a的用户信息。

        select * from users where username like '%a%';

  • 范围查询

    • BETWEEN ... AND  闭区间。

      • 例:查询员工薪水在800和2000之间的全部员工信息:select * from users where salary between 800 and 2000;  注意包括800和2000
      • 例:查询员工薪水不在800和2000之间的全部员工信息:select
        * from users where salary not between 800 and 2000;
    • IN / NOT IN
      • 查询用户名是aaa或者bbb的用户信息:select * from users where username in('aaa','bbb');
      • 查询用户名不是aaa。也不是bbb的用户信息:select * from users where username not in('aaa','bbb');

  • 对查询结果排序

    • SELECT ... FROM ... [WHERE ...] ORDER BY column1 DESC/ASC,...;  
      DESC:降序,ASC:升序

      • 例:select * from users order by id desc;
      • 例:select * from users order by id desc,salary asc;

  • case...when语句的使用

    • 作用:就是在我们查询语句其中能够依据我们字段不同的值。还能够显示不同的结果。
    • CASE column_name WHEN value1 THEN result1,... [ELSE result] END;
      • 样例:依据不同的username来得到他所在的部门

select username,case username when 'aaa' then '计算机部门'

                            when 'bbb' then '市场部门' else '其它部门' end as 部门 from users;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  • CASE WHEN column_name=value1 THEN result1,... [ELSE result] END;

    • 样例:

select username,case when username='aaa' then '计算机部门'

                            when  username='bbb' then '市场部门' else '其它部门' end as 部门 from users;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

    • 样例:
                            select username,case when salary<800 then '工资低' when salary>5000 then '工资高' end as 工资水平 from users;

  • decode函数的使用

    • decode (column_name,value1,result1,...,defaultvalue);

      • 样例:

select username,decode(username,'aaa','计算机部门','bbb','市场部门','其它') as 部门 from users;



Oracle学习笔记(5)——查询的更多相关文章

  1. Oracle 学习笔记 常用查询命令篇

    1.查询某个用户下有多少张表 有时候很有用  select count(*) from dba_tables t where t.owner='SCOTT';

  2. Oracle学习笔记(1)——查询及删除重复数据

      1.查找表中多余的重复记录(根据单个字段studentid)   select * from table_name where studentid in (select studentid fro ...

  3. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  4. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  5. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  6. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  7. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  8. mybatis学习笔记(14)-查询缓存之中的一个级缓存

    mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...

  9. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  10. Linux学习笔记(七) 查询系统

    1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...

随机推荐

  1. Docker发布镜像至Docker Hub

    第一步:Docker生成镜像 docker@default:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE metal-workbench- ...

  2. Tarjan缩点【p1262】间谍网络

    Description 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B.有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中 ...

  3. 洛谷——P1754 球迷购票问题

    题目背景 盛况空前的足球赛即将举行.球赛门票售票处排起了球迷购票长龙. 按售票处规定,每位购票者限购一张门票,且每张票售价为50元.在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值1 ...

  4. SPOJ NETADMIN - Smart Network Administrator(二分)(网络流)

    NETADMIN - Smart Network Administrator #max-flow The citizens of a small village are tired of being ...

  5. JavaScript中的局部作用域及常量的定义

    局部作用域 通常JavaScript的作用域是函数内部,在类似for循环的语句块中是无法申明局部变量的. function exm() { for (var i=0; i<100; i++) { ...

  6. python3 开发面试题(字典和拷贝)5.30

    """ 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...

  7. 建立Spring项目的基础

    1.新建web项目 2.在lib下添加这五个包 3.新建applicationContext.xml(一定在src目录下)

  8. 动态OSPF配置路由表

    动态ospf设置路由表 以Rourer1为例子 (1)首先设置路由器端口ip Router(config)#inter f0/0 Router(config-if)#ip add 192.168.1. ...

  9. C#Windows服务:一些方法(启动、停止等)

    前面讲述了如何创建和安装服务(创建windows服务),下面把启动.停止.判断是否启动的方法也写一下. /// <summary> /// 判断是否安装了某个服务 /// </sum ...

  10. 理解面向对象编程---C#控制台实现52张扑克牌的分法

    52张牌随机分给4个玩家,要求每个玩家的牌用一个一维数组表示. 我们采用模拟大法.初始化一副扑克牌,洗牌,发牌. using System; using System.Collections.Gene ...