oracle数据库学习笔记(二)

摘要:
selected,来自emp的姓氏;建议:每个关键字占据一行位置。selected,name,region_idfroms_dept;等效于:select*from_dept;注:*仅在学习、练习和测试时使用。从emp中选择薪水*12;锻炼:每个员工的月薪将增加200元,年底将有500元的年终奖。全名=姓+名_名+姓_名选择名_名,姓_名来自_ emp;从emp中选择first_name | | last_name;拼接字符串:使用||符号练习:查询所有员工的全名需要在姓和名之间使用“-”?从emp中选择first_ name | |'-'| | last_ name;concat函数concat 5。为查询结果提供别名。每次选择查询结果时,查询所有员工12个月的总收入?选择,工资*12年_工资_就业;四种方法:1)从emp中选择字段别名;2) 从_ emp中选择字段作为别名;3) 从_ emp中选择字段“alias”;4) 从_ emp中选择字段作为“别名”;第一种和第二种没有区别。

第二章 简单的select查询语句

1.select查询语句基本语法
至少要用到两个关键字:
1)select 用来指定查询的字段、内容
2)from 用来指定从哪张表查询
最基本的语法:select 字段 from 表名;
三种不同的表现形式:
1)查询某张表中特定的某一个字段
select 字段名 from 表名;
例如:
查询所有员工的id?
select id from s_emp;
2)查询某张表中多个字段?
select 字段名1,字段名2,字段名3......
from 表名;
注意:符号一定要使用英文的符号
例如:
查询所有员工的id、last_name?
select id,last_name
from s_emp;
建议:每一个关键字占用一行位置。

每一次select查询结果都相当于是一张表。
3)查询某张表中的全部字段
a)将表中的所有字段名全部列出来
b)使用通配符*符号

例如:查询部门表中全部字段?
select id,name,region_id
from s_dept;

等同于:
select *
from s_dept;
注意:*只在学习、练习、测试的时候使用。
在项目开发的时候要把全部的字段都列出来。
运行过程:
a)直接定义字段名查询
直接根据给定的字段名查询字段值
b)使用*通配
先查询该张表中有哪些字段?
再根据查询的结果去取对应的字段值。

在真正项目开发时,sql命令不需要每次都
手敲。我们可以直接把一些常用的sql命令
预定义到程序中。然后每次接收到请求之后,
直接去调用保存好的sql命令就可以了。
sql命令只需要写一次。
select password from customer
where username = ?;

distinct关键字:
作用:消除重复值。
位置:放在select关键字后面
例如:
查询所有的部门名称?
select name
from s_dept;
查询公司里有哪些种类的部门?
select distinct name
from s_dept;

2.算数运算
查询的过程中,可以对查询结果进行算数运算。
并不是真正改变表中的数据值。

1)数值类型运算
包含 加减乘除
+ - * /
例如:
查询员工12个月的工资总和?
select salary*12
from s_emp;

练习:
每个员工月薪涨200元,
年底还有500元的年终奖。
一年给员工发14个月工资。
查询所有员工一年的总收入?
select (salary+200)*14+500
from s_emp;

2)日期类型运算
只有加法和减法。
加法代表从指定日期向未来数几天。
减法代表从指定日期向过去数几天。

练习:
查询所有员工的入职时间的前三天?
select start_date-3
from s_emp;

3.处理空值
查询所有员工的id、提成?
select id,commission_pct
from s_emp;

查询所有员工的id、工资+提成的总和?
select id,salary+commission_pct
from s_emp;

处理空值:nvl函数
语法:nvl(可能出现空值的字段,默认值)
nvl(commission_pct,0)

select id,salary+nvl(commission_pct,0)
from s_emp;

4.字符串拼接
查询所有员工的全名?
全名 = 姓 + 名
first_name + last_name
select first_name,last_name
from s_emp;

select first_name||last_name
from s_emp;
拼接字符串:使用||符号

练习:
查询所有员工的全名
要求姓氏和名字之间使用"-"分割?
select first_name||'-'||last_name
from s_emp;

concat函数
concat(字符串1,字符串2)

5.给查询结果取别名
每一次select查询结果

查询所有员工的12个月总收入?
要求显示结果中的字段名为Year_Sal?
select id,salary*12 Year_Sal
from s_emp;

四种方式:
1)select 字段 别名 from s_emp;
2)select 字段 as 别名 from s_emp;
3)select 字段 "别名" from s_emp;
4)select 字段 as "别名" from s_emp;

第一种和第二种没区别。
第一种和第三种的区别:
查询结果的字段名默认全部都是大写。
加了双引号就会按照字符串中的内容原样输出。
SQL:select id,salary*12 "Year_Sal"
from s_emp;

6.设置会话中查询结果显示格式
select first_name,last_name
from s_emp;

column
可以简写为col

语法:column/col 要修改的字段 format 格式;
例如:把last_name显示结果修改为15个字符长?
column last_name format a15;
a:代表要处理的是字符类型 a只能处理字符类型
15:代表要显示的长度

 

 

免责声明:文章转载自《oracle数据库学习笔记(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring boot 访问页面(静态页面及jsp页面)hadoop 常存问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MyBatis(四)映射文件 之 参数获取详解#{} 与 ${}

一、#{} 与${} 的取值 相同点: #{}:可以获取map中的值或者pojo对象属性的值; ${}:可以获取map中的值或者pojo对象属性的值; 区别: #{}:是以预编译的形式,将参数设置到sql语句中;PreparedStatement;防止sql注入; ${}:取出的值直接拼装在sql语句中;会有安全问题; 大多情况下,我们去参数的值都应该去使...

ORACLE恢复误删除的对象(表、存储过程等)

1.恢复存储过程 原理就是利用了oracle里所有的存储过程的源代码都是存在dba_source里,而drop某个存储过程的时候,oracle这里肯定要去dba_source里把相关的源代码给delete掉,既然是delete,那就好办咯,直接flashback query就可以了。如下: select * from dba_source as of ti...

查看sql server数据库连接情况

1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计(MSSQL General Statistics) 然后在下面列出的项目里面选择 用户连接(User Connection) 就可以时时查询到sql server数据库连接数了。 2.通过系统表来查询: 查询数据库当前...

oracle sql日期比较:

共三部分: 第一部分:oracle sql日期比较: http://www.blogjava.net/forker/archive/2007/09/07/143467.html#Post 第二部分:Oracle获取当前日期及日期格式 http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html 第三部分: 获取昨...

oracle dblink使用

一、dblink介绍 dblink是一个单向的数据库连接,通过设置可以访问其他数据库中的数据跟使用本地数据库中数据一样的感觉,但注意是单向的dblink。例如:A建连B的dblink,A可以访问B的表,插入数据到B的表等,但反过来B不可以。 创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的...

获取日期

select 1 --若输出1,则数据库检测正常select GETDATE() --检测当地时间是否准确select 32-Day(getdate()+32-Day(getdate())) --检测电脑时间当前月的总天数select datediff(mm,0,getdate())select dateadd(day,-day(dateadd(mm,1,...