一、一般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语句初步&amp;SQL中用算术表达式&amp;别名的使用&amp;连接运算符%distinct&amp;where子句的更多相关文章

  1. [置顶] VB6基本数据库应用(三):连接数据库与SQL语句的Select语句初步

    同系列的第三篇,上一篇在:http://blog.csdn.net/jiluoxingren/article/details/9455721 连接数据库与SQL语句的Select语句初步 ”前文再续, ...

  2. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  3. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

    花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用 ...

  4. Oracle 查询(SELECT)语句(一)

    Ø  简介 本文介绍 Oracle 中查询(SELECT)语句的使用,在 SQL 中 SELECT 语句是相对内容较多的,也是相对比较复杂一点的,所以这里拿出来单独学习. 首先,我们先来理一下思路,我 ...

  5. Oracle中Select语句完整的执行顺序

    oracle Select语句完整的执行顺序: .from 子句组装来自不同数据源的数据: .where 子句基于指定的条件对记录行进行筛选: .group by子句将数据划分为多个分组: .使用聚集 ...

  6. Oracle下select语句

    先看scott下自带的emp表 empno:编号  ename:名字  Job:职位  mgr:上级编号 hiredate:入职时间 sal:薪水 comm:奖金 deptno:部门编号 部门表dep ...

  7. Oracle数据库select语句

    select * from EMp--all data in EMP table select * from EMP where ename in('SMITH')--the data where e ...

  8. Oracle 11g 、 Oracle 11g select 、 PLSQL 、 Sql Server迁移助手(SSMA)6.0/7.1 网盘下载地址

    - - - - - - - - 链接: https://pan.baidu.com/s/1q-uwAfeLOPxzBBx6V1pYLg 提取码: hei9

  9. Oracle临时表空间语句、作用

    在Oracle数据库中:一个表空间只属于一个数据库使用:而一个数据库可以拥有多个表空间.属于"一对多"的关系 我们对照着mysql来理解. 1.Oracle有表空间,mysql没有 ...

随机推荐

  1. POJ 2039 Floyd

    句意理解题 解释输入好啦: 第一行n个数 m场电影 随后m行 每行的第一个数 代表 有k奶牛在这个电影中出现过 随后k个数 是奶牛的编号 如果两头奶牛在同一个电影中出现过 相互度为1 奶牛们的相互度可 ...

  2. BZOJ 1571 DP

    思路: 预处理出在能力值为i的时候 滑雪一次的最小时间 f[i][j]表示i时间 j的能力值 最多的滑雪次数 我先用vector 把课程按起点push进去 1. for(int k=0;k<ve ...

  3. Fragment-生命周期

    Fragment生命周期图 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态:当前Fragment位于前台,可见,可获得焦点. · 暂停状态: ...

  4. js闭包中注意文字总结

    //闭包注意的点 //闭包中使用外部变量不是复制而是引用 //闭包可以节省传递参数问题 //在循环中使用闭包

  5. nice---进程优先级

    在当前程序运行优先级基础之上调整指定值得到新的程序运行优先级,用新的程序运行优先级运行命令行"command [arguments...]".优先级的范围为-20 - 19 等40 ...

  6. 00082_Set接口

    1.Set接口介绍 (1)Collection中可以存放重复元素,也可以不存放重复元素,那么我们知道List中是可以存放重复元素的.那么不重复元素给哪里存放呢?那就是Set接口,它里面的集合,所存储的 ...

  7. HASH Partitioning--转载

    原文地址:https://dev.mysql.com/doc/refman/5.1/en/partitioning-hash.html HASH Partitioning [+/-] 18.2.3.1 ...

  8. Mysql数据库的瓶颈处理一点建议

    Mysql数据库的瓶颈处理一点建议         我们在使用Mysql数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候.磁盘I/O瓶颈的出 ...

  9. 2018/8/21 qbxt测试

    2018/8/21 qbxt测试 期望得分:0? 实际得分:0 思路:manacher   会写模板但是不会用 qwq 听了某人的鬼话,直接输出0,然后就gg了 #include <cstdio ...

  10. 腾讯官网生成qq在线客服代码

    http://jingyan.baidu.com/article/e2284b2b42ce8ce2e6118ddd.html