训练大纲(第028天)
大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。
第55次(SQL)
学习主题:SQL
学习目标:
1 掌握子查询
对应作业
- 什么是子查询
- 什么是子查询?
子查询是一个select 语句,他是嵌在另一个SELECT 语句中的子句.
- 子查询执行的顺序是什么?
子查询(内查询)在主查询之前执行一次.
- 使用子查询
- 使用子查询的原则是什么?
子查询放在园括号中.
将子查询放在比较天条件的右边
将单行子查询中用单行运算符,再多行子查询中用多行运算符.
- 有哪些类型的子查询?
单行子查询和多行子查询.
- 写出谁的薪水比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') ;
- 单行子查询
- 单行子查询的特点是什么?
单行子查询只返回一行的查询.
- 主查询对子查询结果的单行比较运算符有哪些?
![350d18117bc50ae3ff9fea9f74ce5f10.png](https://i-blog.csdnimg.cn/blog_migrate/f5ade62c475a3f1e948f3c7e5aff7029.png)
- 在子查询中使用组函数与HAVING子句
- 什么是子查询错误?
单行子查询返回了多行.
- 多行子查询中IN运算符
- 什么是多行子查询?
返回多于一行
使用多行比较符
- 主查询对子查询的多行比较运算符有哪些?
![8926fc6e67187994ac5c2565f2e7a530.png](https://i-blog.csdnimg.cn/blog_migrate/f4ab2f954580c66448538bc3d5fffa95.jpeg)
在条件中也可使用 NOT 取反.
第56次(SQL)
学习主题:SQL
学习目标:
1 掌握子查询以及DML语句
对应作业
- 多行子查询中的ANY运算符
- 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');
- 多行子查询中的ALL运算符
- 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');
- ANY 和 ALL 的区别:
ANY : > ANY 表示至少大于一个值,即大于最小值
ALL : > ALL 表示大于每一个值,即大于最大值.
- 数据操纵语言(DML)INSERT的使用
- 数据操纵语言的作用是什么?
当添加,更新,删除数据库中给的数据时,需要使用DML语句.
DML依据的一个集合构成了一个被称为事务逻辑单元.
- 添加一个新的行到表中使用什么语句?
![1bd3b5a75aa743a10759fd23d4470d24.png](https://i-blog.csdnimg.cn/blog_migrate/fecd82e9b375587276264be40e206943.png)
- 插入数据语句的语法格式是什么?
Insert into departments values(280,’Teachong’,180,2000)
- 插入带空值的行
- 插入带空值的行有几种方法?
隐式方式: 省略字段列表中的列.
显示方式:在VALUES 子句中指定NULL关键字.
- 插入日期格式的数据
- 插入日期格式的数据
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);
- 在Oracle中使用什么函数处理日期?
最好使用to_date() 函数插入时间.
- 从另一个表中复制行
- 如何从另一个表中复制行?
用一个查询写insert 语句
不同values 子句
在子查询中列的数目要匹配insert 子句中列的数目.
Insert into emp(id,name ,salary ,commission) select employee_id,last_name ,salary, commission_pct from employees ;
- 在INSERT中使用默认值
- 在Oracle中插入数据时对于default值的处理有几种方式?
想要使用 默认值的数据 可以使用 default 或空着.
- 修改表中的数据
- 使用什么语句来更新表中的数据?
UPDATE 语句修改已存在的行.
- 更新数据语句的语法格式是什么?
update emp set name = 'OldLu' ,salary = 20000 where id = 170;
update emp set salary =(select salary from emp where id =171) where id =170;
- 从表中删除数据
- 使用什么语句来删除表中的数据?
delete from emp where id =170;
- 删除数据语句的语法格式是什么?
删除表中的数据时必须给定条件,否则是删除表中的所有内容.