sql主表從表
A. mysql中主表與從表,是什麼意思
主表
在資料庫中建立的表格即Table,其中存在主鍵(primary key)用於與其它表相關聯,並且作為在主表中的唯一性標識。
從表
以主表的主鍵(primary key)值為外鍵 (Foreign Key)的表,可以通過外鍵與主表進行關聯查詢。從表與主表通過外鍵進行關聯查詢。
關系及用法概述
從表數據依賴於主表,一般最後查詢數據時把主表與從表進行關聯查詢。主表可用於存儲主要信息,如客戶資料(客戶編號,客戶名稱,客戶公司,客戶單位等),從表用來存儲客戶擴展信息(客戶訂單信息,客戶地址信息,客戶聯系方式信息等)
簡單舉例:
主表(用戶信息)
table user
userid numeric(0,20)
username varchar2(20)
usercompany varchar2(50)
從表(用戶訂單)
table uorder
orderid numeric(0,20)
uid numeric(0,20)
ordertime date
orderstate char(1)
要對主表和從表進行信息聯合查詢語句簡單如下:
select * from [user] u join uorder o on u.userid=o.uid
B. sql 什麼是主從表
主表中有的從表中才可添加相關信息。
比如說有這樣一個表
公司人員信息表
姓名 年齡 性別
張三 20 男
工資表
姓名 工資 工齡 獎金
其中工資表是公司人員信息表的從表幫定的是姓名欄位,你想像下如果公司根本沒這個人你能給這個人發工資嗎,當然這個例子不太符合邏輯因為姓名是會相同的,你可以用工號來進行唯一性標示這樣就不會有冗餘信息了。
主從表是一種數據關系模型,主表約束從表。以學員信息表stuInfo和考試成績表stuMarks為例, 我們知道它們是一對多的關系,當然一是主,多是從。所以stuInfo就是主表,stuMarks就是從表。那麼,一般我們會在從表中做一個外鍵欄位,引用主表中的主鍵。(為什麼呢?大家想想是13億人民記住主席的名字容易還是主席記住13億人民名字呢?)這一點,已經在stuMarks表中得到了體現。那麼,為了保持數據的完整性。主從表我們要盡量遵循以下原則:
1、當主表中沒有對應的記錄時,不能將記錄添加到子表
——成績表中不能出現在學員信息表中不存在的學號;
2、不能更改主表中的值而導致子表中的記錄孤立
——把學員信息表中的學號改變了,學員成績表中的學號也應當隨之改變;
3、子表存在與主表對應的記錄,不能從主表中刪除該行
——不能把有成績的學員刪除了
4、刪除主表前,先刪子表
——先刪學員成績表、後刪除學員信息表
C. 資料庫主表和從表怎麼連接
摘要 您好,可以看這個例子
D. mysql 如何判斷一個表是主表還是從表
--books表中有欄位有bId,pId等欄位。
--another有bId,pId等欄位(create table another select bId,pid,bAuthor from books;--相關欄位以及內容來自books表)。
--books和publising建立外鍵,參照publishing中的id欄位。
alter table books add constraint FK_books_publishing foreign key (pid) references publishing (id) on update cascade;
--another和publishing之間創建外鍵,參照publishing中的id欄位。
alter table another add constraint FK_another_publishing foreign key (pId) references publishing (id) on update cascade;
--舉個簡單的更新列子:
update publishing set id = 17,pname = '愛好者' where id='14';
--當執行這條語句時(更新publishing表),books表和another表同時進行更新。
--主表更新欄位數據等,副表也隨之更新,從上面可以看出,主表是publishing,副表是books和another。
--希望能幫到你
E. sqlserver怎麼建立主從表關系
在sqlserver2000中可以選擇關系圖,新建關系圖,選擇要建立關系的主表和從表,然後一直下一步下一步,直到完成。
然後用滑鼠拖著主表的欄位到從表的欄位,連成一線,會彈出個框,一般點確定就可以了。
F. sql 主從表查詢
select * from A where exists (select 1 from B where Parentid=A.ID)
使用exists可以提高查詢速度,不要用in來查詢,in是要全表掃描的!
以上,希望對你有所幫助!