oracle sql 取最大时间的一行_28天 SQL 增删改学习.

训练大纲(第028天)

大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。

第55次(SQL)

学习主题:SQL

学习目标:

1 掌握子查询

对应作业

  1. 什么是子查询
    1. 什么是子查询?

子查询是一个select 语句,他是嵌在另一个SELECT 语句中的子句.

  1. 子查询执行的顺序是什么?

子查询(内查询)在主查询之前执行一次.

  1. 使用子查询
    1. 使用子查询的原则是什么?

子查询放在园括号中.

将子查询放在比较天条件的右边

将单行子查询中用单行运算符,再多行子查询中用多行运算符.

  1. 有哪些类型的子查询?

单行子查询和多行子查询.

  1. 写出谁的薪水比Abel高。

两种查询方式:

select em.last_name, em.salary from employees Able ,employees em where able.last_name = 'Abel' and em.salary > able.salary;

select last_name , salary from employees where salary > ( select salary from employees where last_name = 'Abel') ;

  1. 单行子查询
    1. 单行子查询的特点是什么?

单行子查询只返回一行的查询.

  1. 主查询对子查询结果的单行比较运算符有哪些?

350d18117bc50ae3ff9fea9f74ce5f10.png
  1. 在子查询中使用组函数与HAVING子句
    1. 什么是子查询错误?

单行子查询返回了多行.

  1. 多行子查询中IN运算符
    1. 什么是多行子查询?

返回多于一行

使用多行比较符

  1. 主查询对子查询的多行比较运算符有哪些?

8926fc6e67187994ac5c2565f2e7a530.png

在条件中也可使用 NOT 取反.

第56次(SQL)

学习主题:SQL

学习目标:

1 掌握子查询以及DML语句

对应作业

  1. 多行子查询中的ANY运算符
    1. ANY运算符的作用是什么?

< ANY 意思是小于最大的.

> ANY 意思是大于最小的.

select last_name, salary from employees where job_id != 'IT_PROG' and salary < any(select salary from employees where job_id = 'IT_PROG');

  1. 多行子查询中的ALL运算符
    1. ALL运算符的作用是什么?

< ALL意思是小于最小值.

> ALL 意思是大于最大值.

select last_name from employees where JOB_ID != 'IT_PROG' and salary < all(select salary from employees where job_id = 'IT_PROG');

  1. ANY 和 ALL 的区别:

ANY : > ANY 表示至少大于一个值,即大于最小值

ALL : > ALL 表示大于每一个值,即大于最大值.

  1. 数据操纵语言(DML)INSERT的使用
    1. 数据操纵语言的作用是什么?

当添加,更新,删除数据库中给的数据时,需要使用DML语句.

DML依据的一个集合构成了一个被称为事务逻辑单元.

  1. 添加一个新的行到表中使用什么语句?

1bd3b5a75aa743a10759fd23d4470d24.png
  1. 插入数据语句的语法格式是什么?

Insert into departments values(280,’Teachong’,180,2000)

  1. 插入带空值的行
    1. 插入带空值的行有几种方法?

隐式方式: 省略字段列表中的列.

显示方式:在VALUES 子句中指定NULL关键字.

  1. 插入日期格式的数据
    1. 插入日期格式的数据

Insert into employees values(209 ,'A','B','C',2134,sysdate ,'HR_REP',10000,0.1,101,40);

insert into employees values(211 ,'A','B','E',2134,'23/7月/2019' ,'HR_REP',10000,0.1,101,40);

insert into employees values(210 ,'A','B','D',2134,to_date('2019-07-23','yyyy-MM-dd') ,'HR_REP',10000,0.1,101,40);

  1. 在Oracle中使用什么函数处理日期?

最好使用to_date() 函数插入时间.

  1. 从另一个表中复制行
    1. 如何从另一个表中复制行?

用一个查询写insert 语句

不同values 子句

在子查询中列的数目要匹配insert 子句中列的数目.

Insert into emp(id,name ,salary ,commission) select employee_id,last_name ,salary, commission_pct from employees ;

  1. 在INSERT中使用默认值
    1. 在Oracle中插入数据时对于default值的处理有几种方式?

想要使用 默认值的数据 可以使用 default 或空着.

  1. 修改表中的数据
    1. 使用什么语句来更新表中的数据?

UPDATE 语句修改已存在的行.

  1. 更新数据语句的语法格式是什么?

update emp set name = 'OldLu' ,salary = 20000 where id = 170;

update emp set salary =(select salary from emp where id =171) where id =170;

  1. 从表中删除数据
    1. 使用什么语句来删除表中的数据?

delete from emp where id =170;

  1. 删除数据语句的语法格式是什么?

删除表中的数据时必须给定条件,否则是删除表中的所有内容.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值