1.级联删除: -- 级联删除:裁员,公司倒闭 -- 级联删除(cascade),设置为null(setnull),放任不管(No action) -- cascade:(以一对多为例)如果删除多的一方数据,一的一方不受任何影响,但是如果删除一的一方的数据,多的一方所有对应数据全部被删除 select * from staff s inner join department d on d.id = s.department_id; delete from staff s where s.id =…
oracle级联删除可以使用触发器来实现,但是比较麻烦,最简单的就是直接建立表的主外键关系,给列设置级联删除. ------创建了CLASS表,并设置ID字段为主键. -- Create table create table CLASS ( ID ) not null, CLASS_NAME ) ) alter table CLASS add constraint PK_CLASS primary key (ID) ------创建了STUDENTS表,并设置ID字段为主键,CLASS_ID为外…
alter table ForeignTable(附表)add constraint fk_MainTable_ForeignTable(关联表中的外键) foreign key(ForeignTable) references dept(zgh) on delete cascade; 其中级联的方式有两种:1.cascade:2.set null 如图: Oracle的级联删除还是非常方便的.…
CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20),  CLASSNAME VARCHAR2(20) --班级ID ); INSERT INTO STUDENT VALUES(1,'Tom',1);INSERT INTO STUDENT VALUES(2,'Jack',1);INSERT INTO STUDENT VALUES(3,'Bay',2);INSERT INTO S…
表: student house course 关系:student_course 多对多 student house 多对一 需求:查询房间1 的学生 都学习了什么课程 select s.s_name,c.c_name from student s left outer join student_course sc on (s.sid=sc.sid) left outer join house h on (s.hid=h.hid) left outer join course c on (sc…
--连接查询的三种格式 select ename, deptno,dname from emp natural join dept; select ename, deptno,dname from emp join dept using(deptno); select emp.ename, emp.deptno,dept.dname from emp join dept on emp.deptno!=dept.deptno; --自连接,将一张表当成两张表来看待 select e.ename,m…
一.子查询 1.子查询语法 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table) 示例: SELECT LAST_NAME FROM employees WHERE salary > (SELECT salary FROM employees WHERE LAST_NAME = 'Abel') 2.子查询示例 使用组函数:查询最低工资的员工信息 SELECT LAST_NAME,sala…
Oracel提供了三种类型的集合操作:各自是并(UNION) .交(INTERSECT). 差(MINUS) UNION :将多个操作的结果合并到一个查询结果中,返回查询结果的并集,自己主动去掉反复的部分. UNION ALL:将多个操作的结果合并到一个查询结果中,可是保留反复的内容. INTERSECT: 返回多个操作结果中同样的部分. MINUS:返回两个查询结果的差集,去掉反复的部分. 基本的语法格式为: SELECT * FROM  table_name 1 [union , union…
Oracle级联删除:可以使用外键约束来实现,建立表的主外键关系,给列设置级联删除.如下: ——创建了CLASS表,并设置ID字段为主键. -- Create tablecreate table CLASS( ID VARCHAR2(2) not null, CLASS_NAME VARCHAR2(20))alter table CLASS add constraint PK_CLASS primary key (ID) ——创建了STUDENTS表,并设置ID字段为主键,CLASS_ID为外键…
Oracle表连接 SQL/Oracle使用表连接从多个表中查询数据 语法格式: select 字段列表from table1,table2where table1.column1=table2.column2; 说明: 在where子句中指定连接条件 当被连接的多个表中存在同名字段时,必须在该字段前加上"表名"作为前缀. 连接的类型 Oracle8i之前的表连接: 等值连接(Equijoin) 非等值连接(Non-Equijoin) 外连接(Outer join):-->左外连…