-- 一對一
-- 身份證表
create table idcard (
idcard_num char(18) primary key,
name varchar2(20),
address varchar2(100),
minzu varchar2(20)
-- 學生表
create table stu(
sno varchar2(10) primary key,
name varchar2(20),
idcard_num char(18)
insert into idcard(idcard_num, name, address, minzu)
values
('123456789012345678','小芳','珠海南方','漢族');
insert into idcard(idcard_num, name, address, minzu)
values
('123456789087654321','小軍','珠海東方','傣族');
commit
select * from idcard
insert into stu(sno, name, idcard_num)
values
('001','小芳','123456789012345678');
insert into stu(sno, name, idcard_num)
values
('002','小軍','123456789087654321');
commit
select * from idcard;
select * from stu;
update stu set name='大芳' where sno='001'
commit
select sno,t1.name,t1.idcard_num,address
from stu t1,idcard t2
where t1.idcard_num = t2.idcard_num
select * from stu
-- 故意修改身份證號碼,讓它關聯不上
update stu set idcard_num='123456789012345677'
where idcard_num='123456789012345678'
commit;
-- 本質上是乙個內關聯
-- 關聯不上的資料,不顯示
select sno,t1.name,t1.idcard_num,address
from stu t1,idcard t2
where t1.idcard_num = t2.idcard_num
----------
-- 左關聯left join
-- (以左為主,左邊關聯不上的資料,繼續顯示)
select sno,t1.name,t1.idcard_num,address
from stu t1,idcard t2
where t1.idcard_num = t2.idcard_num(+)
--傳統的寫法
select * from stu t1
left join idcard t2
on t1.idcard_num = t2.idcard_num
13 一對一關聯
需求 查詢所有訂單資訊,關聯查詢下單使用者資訊。注意 因為乙個訂單資訊只會是乙個人下的訂單,所以從查詢訂單資訊出發關聯查詢使用者資訊為一對一查詢。如果從使用者資訊出發查詢使用者下的訂單資訊則為一對多查詢,因為乙個使用者可以下多個訂單。newsdata one to one tag tag one t...
hibernate 關聯關係 一對一 主鍵關聯
一對一關聯關係的使用 一對一關係在實際生活中是比較常見的,例如學生與學生證的關係,通過學生證可以找到學生。一對一關係在hibernate中的實現有兩種方式,分別是主鍵關聯和外來鍵關聯。以主鍵關聯 主鍵關聯的重點是,關聯的兩個實體共享乙個主鍵值。例如,student與card是一對一關係,它們資料庫中...
hibernate一對一關聯對映
一對一主鍵關聯對映 單向關聯person idcard 讓兩個實體物件的id保持相同,這樣可以避免多餘的字段被建立 具體對映 idcard 一對一主鍵關聯對映 雙向關聯person idcard 需要在idcard對映檔案中加入標籤指向person,指示hibernate如何載入person 預設根...