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语句。

?

例1:查询学生表部分列,如学号、姓名

select sno,snamefrom student

当中sno,sname分别为学生表的列名。student为学生表的表名,例如以下图:

例2:查询学生表全部信息,例如以下图:

三、在SQL语句中能够使用算术表达式:

+、-、*、/。

?

如:selectempno,ename,sal+500 from emp;

所以sal列能够做运算,然后在查询结果中显示

【注意】select后假设加*,那么*之后不能再加别的东西,比方

select *, sname from A是错误的。

?

例3:如查询学生表部分列。且age列各项数据加20。例如以下图:

【注意】尽管查询结果中将age列全部数据加20,可是实际表中的数据没有发生改变。

?

四、查询语句中别名的使用

在查询语句中,我们能够为表或者列加上别名

1.在列上加别名:

(1)第一种写法

select empno as “员工编号”,ename as “员工名称” from emp

(2)另外一种写法

select empno
员工编号,ename 员工名称 from emp

(3)第三种写法

select empno “员工编号”,ename “员工名称” from emp

例4:为学生表中的sno和sname加入别名,例如以下图:

2.为表加别名

select empno, ename from empa

即将原表名emp改成别名a

?

例5:依据现有的student表和sc表,查询s001学号的学生成绩。

解:先查询student表和sc表信息。例如以下图:

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

再两表联查。这个兴许会学到:

对于命令:

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;

例6:将student表中的sno和sname两列合并。

为了美观。能够为列加上别名:

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

拓展:能够为每列中的数据合并新的数据。比方把student表中sname和sno列合而且合并新数据。

【注意】查询语句select再怎么操作都不会改变表中的数据。


六、DISTINCT使用

假设查询的结果中有反复的值,能够使用DISTINCT对反复值进行过滤。

语法结构:SQL>select distinct
列名from 表名;

?

例7:查询sc表中信息,去反复

解:首先查询sc表中全部数据

然后查询sc表的cno列数据

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

利用distinct去反复

七、WHERE子句使用

在SELECT语句中使用WHERE子句来过滤查询出来的结果。

语法格式:

(1)where
列名比較操作符数值;

(2)where
列名比較操作符表达式;

(3)where
列名比較操作符列名;

Oracle提供了例如以下经常使用的比較操作符:

(1)>

(2)<

(3)=

(4)<=

(5)>=

(6)<>或 != (这俩都表示不等于)

(7)between … and …

(8)in

(9)like

?

例8:利用where子句过滤出student表中姓名为3个字的学生信息。

解:查询student表全部数据

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

利用where过滤出姓名为3个字的学生信息

事实上例如以下图中SQL语句也是where子句,两表联查兴许会具体解释。

例9:查询工资大于1500元的员工编号和姓名

select empno,ename from emp where sal > 1500;

例10:查询职位不是“CLERK”的员工编号和姓名

select empno,ename from emp where job <> ‘CLERK’

例11:查询工资从1500到2900的员工信息

select empno,ename from emp where sal between 1500 and 2900

例12:查询工资是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’;

?

例13:查询player表中game_id列的非空数据和空数据

解:首先查询player表全部数据

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

然后查询player表game_id列中非空数据

查询player表game_id列中空数据

原文地址:https://www.cnblogs.com/llguanli/p/8298098.html

时间: 2024-11-07 15:50:42

Oracle-18-select语句初步&amp;SQL中用算术表达式&amp;别名的使用&amp;连接运算符%distinct&amp;where子句的相关文章

Oracle-18-select语句初步&amp;SQL中用算术表达式&amp;别名的使用&amp;连接运算符%distinct&amp;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] 其中关键字dis

Oracle 查询(SELECT)语句(二)

?  简介 在前面的 Oracle 查询 SELECT 语句(一) 中介绍了 SELECT 常用的一些基本查询语法,接下来再来看 SELECT 更深入的一些查询功能和技巧,包括以下内容: 1.   All 与 Any 运算符 2.   分页查询(rownum) 3.   集合操作符(UNION.UNION ALL.INTERSECT.MINUS) 1.   All 与 Any 运算符 1)   All 运算符,表示满足给出列表中的所有值.通常用于以下场景: 1.   查出大于30号部门所有员工最

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

oracle Select语句完整的执行顺序: 1.from 子句组装来自不同数据源的数据: 2.where 子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.使用order by对结果集进行排序.

Oracle数据库select语句

select * from EMp--all data in EMP table select * from EMP where ename in('SMITH')--the data where ename is SNITH in the EMP table select ename||'is a' as INAME from EMP where eNAME = 'SMITH'--rename ENAME pius 'is a' to INAME select sal || '_'||enam

基本select语句的生命周期

(1) 客户端sqlserver网络接口通过一种网络协议(可以是共享内存:简单高速,客户端和sql server在同一台计算机默认连接方式:TCP/IP:访问sql server最常用的一种协议,客户端指定ip地址和端口号连接到sql server;命名管道:命名管道和TCP/IP协议在体系结构上是类似的,是为局域网设计的,在广域网中速度会慢一些:VIA:虚拟接口适配器,是一种可以让两个系统进行高性能通信的协议,要求通信两端使用特殊的硬件和专门连接)和服务的的SNI建立了一个连接,然后通过网络协

oracle sql 基础(二):select 语句

为了从数据库中查询数据,你需要用SQL语言中使用最多的SELECT语句.我们分别介绍SELECT语句的基础语法.子查询.从多表中查询数据,然后再进行实例解析. 一.SELECT语句的基础语法 SELECT语句就像叠加在数据库表上的过滤器,即选择查询用于定位数据库特定的列和行.下面是SELECT语句的基础语法.  SELECT [ALL|DISTINCT SELECT_LIST FROM {table_name|view_name} [WHERE search_condition] [GROUP

Oracle 基本SQL SELECT语句

SELECT  *  |    {   [ DISTINCT  ]    column   |    expression   [   alias   ]  ,   ...    } FROM  table; ?SELECT  标识 选择哪些列. ?FROM    标识从哪个表中选择. column后面加上空格,同时跟上别名(alias),或者 as 别名,到下一行的内容时,要用逗号隔开, 默认的别名是小写的,如果想要让它是大写的,使用 "别名" 如果别名有多个单词的时候,用双引号别名

【Oracle】SQL 中Select语句完整的执行顺序

SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.select 的字段: 8.使用order by对结果集进行排序. SQL语言不同于其他编程语言的最明显特征是处理代码的顺序.在大多数据库语言中,代码按编码顺序被处理.但在SQL语句中,第一个被处理的子句式FROM,而不是

Oracle OCP 官方PPT学习日志 使用 SQL SELECT 语句检索数据 01

连接运算符,|| 注:也可以将日期表达式连接到其他表达式或列. 文字字符串 SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees; 其它引号(q)运算符 许多SQL语句都在表达式或条件中使用字符文字.如果文字本身包含一个单引号,则可以使用引号(q)运算符并选择自己的引号分隔符. 可以选择所需要的任何分隔符,单字节或多字节分隔符,或者下列字符对中的任何一种:[ ].{ }.( )或< >