Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句
一、一般SELECT语句的格式例如以下:
1.查询指定表的全部列
select * from
表名 [where 条件] [group by
分组列名] [having 聚合函数] [order by
排序列名 ASC| DESC]
在表名地方,能够写多个表
2.查询指定表的部分列:
select {[distinct]列名。列名,…}from
表名 [where 条件] [group by
分组列名] [having 聚合函数] [order by
排序列名 ASC| DESC]
当中keyworddistinct表示去除部分列中反复数据,
仅仅是在查询的时候去除,而该表内部数据纹丝不动
二、查询指定的列
假设想查询某一个或是多个指定列。能够编写相似于以下的SQL语句。
:查询学生表部分列,如学号、姓名
select sno,snamefrom student
当中sno,sname分别为学生表的列名。student为学生表的表名,例如以下图:
:查询学生表全部信息,例如以下图:
三、在SQL语句中能够使用算术表达式:
+、-、*、/。
如:selectempno,ename,sal+500 from emp;
所以sal列能够做运算,然后在查询结果中显示
【注意】select后假设加*,那么*之后不能再加别的东西,比方
select *, sname from A是错误的。
:如查询学生表部分列。且age列各项数据加20。例如以下图:
,可是实际表中的数据没有发生改变。
四、查询语句中别名的使用
在查询语句中,我们能够为表或者列加上别名
1.在列上加别名:
(1)第一种写法
select empno as “员工编号”,ename as “员工名称” from emp
(2)另外一种写法
select empno
员工编号,ename 员工名称 from emp
(3)第三种写法
select empno “员工编号”,ename “员工名称” from emp
:为学生表中的sno和sname加入别名,例如以下图:
2.为表加别名
select empno, ename from empa
即将原表名emp改成别名a
:依据现有的student表和sc表,查询s001学号的学生成绩。
解:先查询student表和sc表信息。例如以下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
再两表联查。这个兴许会学到:
对于命令:
SQL>selecta.sno,sname,score from student a, sc b
2 where a.sno = ‘s001’ and a.sno = b.sno;
当中a和b分别为student表和sc表别名。
所以为表定义别名的用处是简化代码书写,原来的student.sno如今简化成a.sno。
五、连接运算符
在SQL查询语句中能够将两列查询的结果连接在一起,通过“||”实现。
SQL>select empno || ename from emp;
:将student表中的sno和sname两列合并。
为了美观。能够为列加上别名:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
拓展:能够为每列中的数据合并新的数据。比方把student表中sname和sno列合而且合并新数据。
【注意】查询语句select再怎么操作都不会改变表中的数据。
六、DISTINCT使用
假设查询的结果中有反复的值,能够使用DISTINCT对反复值进行过滤。
语法结构:SQL>select distinct
列名from 表名;
:查询sc表中信息,去反复
解:首先查询sc表中全部数据
然后查询sc表的cno列数据
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
利用distinct去反复
七、WHERE子句使用
在SELECT语句中使用WHERE子句来过滤查询出来的结果。
语法格式:
)where
列名比較操作符数值;
)where
列名比較操作符表达式;
)where
列名比較操作符列名;
Oracle提供了例如以下经常使用的比較操作符:
(1)>
(2)<
(3)=
(4)<=
(5)>=
(6)<>或 != (这俩都表示不等于)
(7)between … and …
(8)in
(9)like
:利用where子句过滤出student表中姓名为3个字的学生信息。
解:查询student表全部数据
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
利用where过滤出姓名为3个字的学生信息
事实上例如以下图中SQL语句也是where子句,两表联查兴许会具体解释。
:查询工资大于1500元的员工编号和姓名
select empno,ename from emp where sal > 1500;
:查询职位不是“CLERK”的员工编号和姓名
select empno,ename from emp where job <> ‘CLERK’
:查询工资从1500到2900的员工信息
select empno,ename from emp where sal between 1500 and 2900
:查询工资是1500,3000。2000的员工信息
select empno,ename from emp where sal in (1500,3000,2000);
八、AND、OR、NOT使用
AND、OR、NOT是作为Oracle中的3个逻辑运算符(操作符)。它们能够把搜索条件中的各个部分组合起来。
比方:查询工资大于1500且职位为“SALESMAN”的员工信息
SQL>selectempno, ename from emp
2 where sal > 1500 and
job =’SALESMAN’;
比方:查询“comm”这列非空的员工信息
SQL>selectempno, ename, comm from emp
2 where comm is notnull’;
:查询player表中game_id列的非空数据和空数据
解:首先查询player表全部数据
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
然后查询player表game_id列中非空数据
查询player表game_id列中空数据
Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句的更多相关文章
- [置顶] VB6基本数据库应用(三):连接数据库与SQL语句的Select语句初步
同系列的第三篇,上一篇在:http://blog.csdn.net/jiluoxingren/article/details/9455721 连接数据库与SQL语句的Select语句初步 ”前文再续, ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用 ...
- Oracle 查询(SELECT)语句(一)
Ø 简介 本文介绍 Oracle 中查询(SELECT)语句的使用,在 SQL 中 SELECT 语句是相对内容较多的,也是相对比较复杂一点的,所以这里拿出来单独学习. 首先,我们先来理一下思路,我 ...
- Oracle中Select语句完整的执行顺序
oracle Select语句完整的执行顺序: .from 子句组装来自不同数据源的数据: .where 子句基于指定的条件对记录行进行筛选: .group by子句将数据划分为多个分组: .使用聚集 ...
- Oracle下select语句
先看scott下自带的emp表 empno:编号 ename:名字 Job:职位 mgr:上级编号 hiredate:入职时间 sal:薪水 comm:奖金 deptno:部门编号 部门表dep ...
- Oracle数据库select语句
select * from EMp--all data in EMP table select * from EMP where ename in('SMITH')--the data where e ...
- Oracle 11g 、 Oracle 11g select 、 PLSQL 、 Sql Server迁移助手(SSMA)6.0/7.1 网盘下载地址
- - - - - - - - 链接: https://pan.baidu.com/s/1q-uwAfeLOPxzBBx6V1pYLg 提取码: hei9
- Oracle临时表空间语句、作用
在Oracle数据库中:一个表空间只属于一个数据库使用:而一个数据库可以拥有多个表空间.属于"一对多"的关系 我们对照着mysql来理解. 1.Oracle有表空间,mysql没有 ...
随机推荐
- jq ---- 实现浏览器全屏
// 点击进入全屏 方法. var fullscreen=function(){ elem=document.body; if(elem.webkitRequestFullScreen){ elem. ...
- Codeforces 129A-Cookies(暴力)
A. Cookies time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- 基本3D变换之World Transform, View Transform and Projection Transform
作者:i_dovelemon 来源:CSDN 日期:2014 / 9 / 28 主题:World Transform, View Transform , Projection Transform 引言 ...
- Css3 过渡(Transition)特效回调函数
Css3 出来之后,能够说是替代了Flash,通过使用Html5和Css3的完美结合.就能够做出不论什么你想得到的特效,这里不再阐述... 近期在做一个喝水签到的功能.在想签到成功之后,签到框能够模拟 ...
- 关于Promise详解
异步回调 回调地狱 在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的回调地狱 并行结果 如果几个异步操作之间并没有前后顺序之分,但需要等多个异步操作都完成后才能执行后续的任务 ...
- 数组-reduce方法
转自: https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/139 实现 convert 方法,把原始 list ...
- CSRF Failed: Referer checking failed - no Referer
postman模拟登录出了这个错误,其实看标题就知道大概是怎么回事,网上大概找了办法,也没说到位,所以干脆自己找源码了. 问题很明显就是出在 CSRF 上,理所当然去查看 CsrfViewMiddle ...
- 【2017 Multi-University Training Contest - Team 6】Classes
[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6106 [题意] 给出选 A,B,C,AB,AC,BC,ABC 课程的学生,其中 AB 是 A 和 B 都 ...
- oracle学习之路(二)------数组类型/记录类型的使用
Oracle记录类型介绍 RECORD:用户自己定义数据类型,由单行多列的标量构成的复合数据类型.它将一个或多个标量封装成一个对象进行操作记录不能够总体拿来比較也不能够总体推断为空.能够总体拿来赋值. ...
- Linux下vi替换字符命令操作实例
在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參 ...