Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2694字,纯文字阅读大概需要4分钟。
内容图文
![Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句](/upload/InfoBanner/zyjiaocheng/1313/a3d32085f8174cb2ae188782253e96a9.jpg)
一、一般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表信息。例如以下图:
再两表联查。这个兴许会学到:
对于命令:
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两列合并。
为了美观。能够为列加上别名:
拓展:能够为每列中的数据合并新的数据。比方把student表中sname和sno列合而且合并新数据。
【注意】查询语句 select 再怎么操作都不会改变表中的数据。
六、DISTINCT使用
假设查询的结果中有反复的值,能够使用DISTINCT对反复值进行过滤。
语法结构:SQL>select distinct 列名from 表名;
?
例 7:查询sc表中信息,去反复
解:首先查询sc表中全部数据
然后查询sc表的cno列数据
利用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表全部数据
利用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表全部数据
然后查询player表game_id列中非空数据
查询player表game_id列中空数据
内容总结
以上是互联网集市为您收集整理的Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句全部内容,希望文章能够帮你解决Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。