Oracle day01 select where关键字
select关键字
作用:检索“列”
注意:1.select后面的列可以起别名(查询的显示结果)
1) 列名后面一个空格后添加别名(别名中不许有“空格”)
2) 列名后面一个空格后使用双引号添加别名
3) 列名后面一个空格后使用as关键字,在as后面添加别名
2.distinct用于对显示结果的去重
1) distinct必须放在select后面
2) 如果查询有多列,必须满足多列值都相同时,方可去重。
from关键字
作用:检索“表”
注意:检索的表后可以添加别名(别名不需要被双引号引起)
作用:检索“列”
--1.
--单行注释
--2.
/* 多行注释 */
select
--select关键字第一个句型
--select [列1,列2, ... ,列N] from 表
--例:查询员工姓名和薪水
select emp.ename,emp.sal from emp;
--给表取别名
select ename,sal,e.deptno from emp e,dept d;
--oracle中,列名和表名默认不区分大小写,数据是区分大小写的
--给列取别名
--例:查询员工姓名和年薪
--方式一
select ename,sal*12年薪 from emp;
--方式二
select ename,sal*12 "ysal" from emp;
--方式三
select ename,sal*12 as "ysal" from emp;
--例子:查询公司有哪些职位
--使用distinct去除显示重复的结果 必须放在Select关键字后面
select distinct ename,job from emp;
--distinct后面跟多个列时,必须保证多列都重复才可以去除重复内容
--distinct只能放在select的后面
--错误的SQL:select ename,distinct job from emp;
(意思变成我想查找emp中 的ename 和distinct列)
Where
--where关键字
--作用:过滤行
Select *from表名 where 列名 。。。
- --=,!=,<>,<,>,<=,>=,any,some,all
- -- is null,is not null(判断是否为空 0.00 不等于空)
- -- between x and y(在...and...之间)
- --and、or 、not(与或非)
- -- in(list),not in(list)(在,不是在)
- -- exists(sub-query)、not exists(sub-query)
- -- like _ ,%,escape ‘\‘ _\% escape ‘\’
--例:查询工资大于2000的员工信息
select * from emp where sal <=
--=,!=,<>,<,>,<=,>=,any,some,all
--查询员工信息,条件:薪水要大于1000,薪水还要大于1500,薪水还要大于2000
select * from emp where sal != any(1000,1500,2000)
--some和any用法一样
--all表示所有
-- is null,is not null(判断是否为空 0.00 不等于空)
select * from emp where comm is not null;
--错误:select * from emp where comm = null
-- between x and y(在...and...之间)
--查询员工薪水在2000-3000的员工信息
select * from emp where sal between 2000 and
--and、or 、not(与或非)
select * from emp where sal >= 2000 and sal <=
-- in(list),not in(list)(在,不是在)
--查询职务为MANAGER和ANALYST的员工信息
select * from emp where job in ('MANAGER','ANALYST')
--查询工资不为3000和5000的员工信息
select * from emp where sal not in (3000,5000)
-- exists(sub-query)、not exists(sub-query)(先查询括号内的若为ture则执行括号外的 )
select * from emp where exists(select * from dept where deptno != 50)
- -- like _ ,%,escape ‘\‘ _\% escape ‘\’
- --like关键字
- --模糊查询,有两个特殊的符号"%" ,"_"
- --“%”表示匹配零个或若干字符
- --“_”表示匹配一个字符
--查询:员工姓名中含有“M”的员工信息
select * from emp where ename like '%M%'
--查询:员工姓名中第二个字母是“M”的员工信息
select * from emp where ename like '_M%'
--查询:员工姓名中第三个字母是“O”的员工信息
select * from emp where ename like '__O%'
--查询:员工姓名中倒数第二个字母为“E”的员工信息
select * from emp where ename like '%E_'
--查询:员工姓名中含有“%”的员工信息
select * from emp where ename like '%\%%' escape '\'
--插入一条信息:insert into emp(empno,ename) values(9527,'huan%an');
作业
[if !supportLists]1、[endif]查询部门编号为10的员工信息
select *from emp where deptno =10 ;
[if !supportLists]2、[endif]查询年薪大于3万的人员的姓名与部门编号
select ename,sal,deptno from emp where sal*12 >30000 ;
[if !supportLists]3、[endif]查询佣金为null的人员姓名与工资
select ename,sal from emp where comm is null ;
[if !supportLists]4、[endif]查询工资大于1500且 and 含有佣金的人员姓名
select ename from emp where sal>1500 and comm is not null ;
[if !supportLists]5、[endif]查询工资大于1500或 or含有佣金的人员姓名
select ename from emp where sal>1500 or comm is not null ;
[if !supportLists]6、[endif]查询姓名里面含有S员工信息 工资、名称
select ename,sal from emp where ename like '%S%';
[if !supportLists]7、[endif]求姓名以J开头第二个字符O的员工姓名的与工资
select ename,sal from emp where ename like 'JO%';
[if !supportLists]8、[endif]求包含%的雇员姓名
select ename from emp where ename like '%\%%' escape '\';
9、使用in查询部门名称为 SALES 和 RESEARCH 的雇员姓名、工资、部门编号
select e.ename,e.sal,e.deptno from emp e where e.deptno in(select d.deptno from DEPT d where d.dname ='SALES'or d.dname = 'RESEARCH');
10、使用exists查询部门名称为SALES和RESEARCH 的雇员姓名、工资、部门编号
select e.ename, e.sal, e.deptno from emp e where exists (select d.deptno from dept d where (d.dname = 'SALES' or d.dname = 'RESEARCH') and d.deptno = e.deptno);
Oracle day01 select where关键字的更多相关文章
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
转:http://blog.chinaunix.net/uid-26896647-id-3433968.html 问题描述:如果在一个表中的一个字段上存在'&', '_', '%'这样的特 ...
- oracle实现like多关键字查询
oracle实现like多关键字查询: select * from contract_info tt where 1=1 and REGEXP_LIKE(tt.contract_name,'关键字1| ...
- 数据库Oracle的select用法(部分)
Oracle的select用法(部分): 1.查询所有: select * from employees; 2.加上where子句:用选择限制行 select * from employees whe ...
- Oracle【select from 语句】
Oracle[select from 语句] 1.select基本功能介绍1)投影操作:结果集是源表中的部分“列”2)选择操作:结果集是源表中的部分“行”3)选择操作+投影操作:结果集是源表中的部分 ...
- ORACLE-SELECT学习
(一)select格式:SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名2>[,…] [W ...
- Oracle 数据库(oracle Database)Select 多表关联查询方式
Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...
- {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析
MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...
- 解析oracle对select加锁的方法以及锁的查询 转
转自 https://www.jb51.net/article/37587.htm 本篇文章是对oracle对select加锁的方法以及锁的查询进行了详细的分析介绍,需要的朋友参考下 解析oracle ...
- Oracle中select使用别名
1 .将字段用as转换成别名. 2 .直接在字段的名字后面跟别名. 3 .在字段后面用双引号引起的别名. 我的朋友 大鬼不动 最近访客 fhwlj kochiyas 大極星 Alz__ deser ...
随机推荐
- [python] bluepy 一款python封装的BLE利器
1.bluepy 简介 bluepy 是github上一个很好的蓝牙开源项目,其地址在 LINK-1, 其主要功能是用python实现linux上BLE的接口. This is a project t ...
- Dora.Interception,为.NET Core度身打造的AOP框架 [4]:与依赖注入框架的无缝集成
Dora.Interception最初的定位就是专门针对.NET Core的AOP框架,所以在整个迭代过程中我大部分是在做减法.对于.NET Core程序开发来说,依赖注入已经成为无处不在并且“深入骨 ...
- Java实现递增数组的二分查找
package com.algorithm; import java.util.ArrayList;import java.util.List; /** * 类功能描述: * * @author Ba ...
- OSGi解决的问题
osgi最明显的缺陷 bundle尽管可以为隔离的服务建立独立生命周期管理的热部署方式,以及明确的服务导出和导入依赖能力,但是其最终基于jvm,无法对bundle对应的服务实现计算资源的隔离,一个服务 ...
- 阿里面试题,深入理解Java类加载机制
类的生命周期 包括以下 7 个阶段: 加载(Loading) 验证(Verification) 准备(Preparation) 解析(Resolution) 初始化(Initialization) 使 ...
- [Swift]LeetCode718. 最长重复子数组 | Maximum Length of Repeated Subarray
Given two integer arrays A and B, return the maximum length of an subarray that appears in both arra ...
- Spring高级装配bean
目录 spring profile 条件化的bean声明 自动装配与歧义性 bean的作用域 Spring表达式语言 一.环境与profile 配置profile bean 在软件开发的时候,有一个 ...
- C#中为什么会出现空静态构造方法的写法
再过几个小时,就要回家过春节了,今天说些简单点的东西,大家在看C#代码的时候,一定会对这样的写法非常迷茫:在一个类中会出现一个空的静态构造方法.这不是多此一举吗,这样做的目的是什么?今天我就来说说这个 ...
- JVM基础系列第15讲:JDK性能监控命令
查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps 6540 ...
- 带着新人学springboot的应用07(springboot+RabbitMQ 下)
说一两句废话,强烈推荐各位小伙伴空闲时候也可以写写自己的博客!不管水平高低,不管写的怎么样,不要觉得写不好或者水平不够就不写了(咳,我以前就是这样的想法...自我反省!). 但是开始写博客之后,你会发 ...