java中 两个表之间有2个外键约束_oracle 数据基础 2个表格 之间外键的使用实例...

1、创建员工表ks,字段如下要求

id:数字型,主键,非空

name:字符型,非空

sex:字符型,只能是”M”或”F”

birthday:日期型,默认值为”1995-12-31″

personid:字符型,唯一

address:字符型

remark:字符型

向员工表中插入至少3条记录,以适应不同的约束。

2、创建薪资表salary,字段要求如下:

id:数字型,主键,非空

eid:数字型,外键,关联ks表的id

salary:数字型,取值范围为:5000.00-50000.00

向薪资表salary中插入至少3条记录,以适应不同的约束。

以上要求建表时,创建各种约束。

CREATE TABLE ks

(

idNUMBER(5),

nameNVARCHAR2(50) NOT NULL,

sexNCHAR(1),

birthdayDATE DEFAULT(TO_DATE(‘1995-12-31′,’YYYY-MM-DD’)),

personidNVARCHAR2(20),

addressNVARCHAR2(100),

remarkNVARCHAR2(100),

CONSTRAINT PK_employee_id PRIMARY KEY(id),

CONSTRAINT CK_employee_sex CHECK(sex=’M’ OR sex=’F’),

CONSTRAINT UQ_employee_personid UNIQUE(personid)

);

INSERT INTO ks VALUES(1001,’张三’,’M’,TO_DATE(‘2005-01-15′,’YYYY-MM-DD’),

‘10249012343901’,’地址不祥’,null);

INSERT INTO ks VALUES(1002,’张三2′,’M’,TO_DATE(‘2006-01-15′,’YYYY-MM-DD’),

‘10249012344902’,’地址不祥’,’好淫一个’);

INSERT INTO ks VALUES(1003,’张四’,’M’,TO_DATE(‘2008-01-15′,’YYYY-MM-DD’),

‘10249012354903’,’地址不祥’,’优秀员工’);

CREATE TABLE salary

(/

idNUMBER(5),

eidNUMBER(5),

salaryNUMBER(7,2),

CONSTRAINT PK_salary_id PRIMARY KEY(id),

CONSTRAINT FK_salary_eid FOREIGN KEY(eid) REFERENCES ks (id),

CONSTRAINT CK_salary_salary CHECK(salary BETWEEN 5000.00 AND 50000.00)

);

INSERT INTO salary VALUES(1,1001,5000.00);

INSERT INTO salary VALUES(2,1002,50000.00);

INSERT INTO salary VALUES(3,1003,8000.00);

建立外键 查询 学号为 1001.1002 的学生姓名,工资。

select ks.id ,name,salary

from ks,salary

where ks.id in(1001,1002) and ks.id=salary.eid

— 如何不加后面的 ks.id=salary.eid ,查询出来的就会很多,也就是交叉查询结果。

I

    原文作者:weixin_33746247
    原文地址: https://blog.csdn.net/weixin_33746247/article/details/114615227
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞