當前位置:首頁 » 編程語言 » sql主表怎麼看
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql主表怎麼看

發布時間: 2022-11-17 22:12:31

sql 根據明細查詢主表

請試一試下面的腳本:

selecta.id,a.group_namefrommaina
where
exists(
.main_id=a.id
anddetail.number=1andmal_name='貓'
)
andexists(
.main_id=a.id
anddetail.number=1andmal_name='狗'
)

如有疑問,及時溝通!

㈡ 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。

--希望能幫到你

㈢ sql 什麼是主從表

主表中有的從表中才可添加相關信息。

比如說有這樣一個表

公司人員信息表
姓名 年齡 性別
張三 20 男

工資表
姓名 工資 工齡 獎金

其中工資表是公司人員信息表的從表幫定的是姓名欄位,你想像下如果公司根本沒這個人你能給這個人發工資嗎,當然這個例子不太符合邏輯因為姓名是會相同的,你可以用工號來進行唯一性標示這樣就不會有冗餘信息了。

主從表是一種數據關系模型,主表約束從表。以學員信息表stuInfo和考試成績表stuMarks為例, 我們知道它們是一對多的關系,當然一是主,多是從。所以stuInfo就是主表,stuMarks就是從表。那麼,一般我們會在從表中做一個外鍵欄位,引用主表中的主鍵。(為什麼呢?大家想想是13億人民記住主席的名字容易還是主席記住13億人民名字呢?)這一點,已經在stuMarks表中得到了體現。那麼,為了保持數據的完整性。主從表我們要盡量遵循以下原則:

1、當主表中沒有對應的記錄時,不能將記錄添加到子表
——成績表中不能出現在學員信息表中不存在的學號;

2、不能更改主表中的值而導致子表中的記錄孤立
——把學員信息表中的學號改變了,學員成績表中的學號也應當隨之改變;

3、子表存在與主表對應的記錄,不能從主表中刪除該行
——不能把有成績的學員刪除了

4、刪除主表前,先刪子表
——先刪學員成績表、後刪除學員信息表

㈣ sql 主從表查詢

select * from A where exists (select 1 from B where Parentid=A.ID)

使用exists可以提高查詢速度,不要用in來查詢,in是要全表掃描的!

以上,希望對你有所幫助!

㈤ 如何看懂sql 系統表

Server資料庫的一切信息都保存在它的系統表格里。我懷疑你是否花過比較多的時間來檢查系統表格,因為你總是忙於用戶表格。但是,你可能需要偶爾做一點不同尋常的事,例如資料庫所有的觸發器。你可以一個一個地檢查表格,但是如果你有500個表格的話,這可能會消耗相當大的人工。
這就讓sysobjects表格有了用武之地。雖然我不建議你更新這個表格,但是你當然有權對其進行審查。
在大多數情況下,對你最有用的兩個列是sysobjects.name和sysobjects.xtype。前面一個用來列出待考察對象的名字,而後一個用來定義對象的類型,其代碼如下:
C:檢查約束。
D:默認的約束
F:外鍵約束
L:日誌
P:存儲過程
PK:主鍵約束
RF:復制過濾存儲過程
S:系統表格
TR:觸發器
U:用於表格。
UQ:獨特的約束。
V:視圖
X:被擴展的存儲過程
在碰到觸發器的情形下,用來識別觸發器類型的其他三個列是:deltrig、instrig和uptrig。
你可以用下面的命令列出感興趣的所有對象:
SELECT * FROM sysobjects WHERE xtype = <type of interest>
在特殊情況下,也就是在父表格擁有觸發器的情況下,你可能想要用下面這樣的代碼查找資料庫:
SELECT
Sys2.[name] TableName,
Sys1.[name] TriggerName,
CASE
WHEN Sys1.deltrig > 0 THEN'Delete'
WHEN Sys1.instrig > 0 THEN'Insert'
WHEN Sys1.updtrig > 0 THEN'Update'
END'TriggerType'
FROM
sysobjects Sys1 JOIN sysobjects Sys2 ON Sys1.parent_obj
= Sys2.[id]
WHERE Sys1.xtype='TR'
ORDERBY TableName
在SQL Server
2005里,首選的技術是使用系統視圖。這種方式會把你的查詢同微軟選擇對系統表格進行的任何改變隔絕開來。
下面是一個簡單的例子,它使用了INFORMATION_SCHEMA_TABLES視圖:
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
FROMINFORMATION_SCHEMA.TABLES
ORDERBY TABLE_SCHEMA, TABLE_NAME
對於AdventureWorks資料庫或者任何你自己的資料庫,使用這個查詢可以產生一個表格快速列表。
為了說明這些架構查詢的能力,看下面的語句,它們列出所選資料庫里所有的函數和存儲過程。
SELECT*FROMINFORMATION_SCHEMA.ROUTINES
ORDERBY ROUTINE_TYPE, ROUTINE_NAME
市面上有20種這樣的信息架構視圖。如果你需要將資料庫歸檔,而且無法承擔商業解決方案,例如Red
Gate或者Apex提供的方案的話,那麼通過這些視圖和一點點試驗,你就可以讓SQL Server給自己生成文檔了。

介紹一下sql server資料庫中的系統表sysobjects。在每個資料庫中都存在此表。
sysobjects存放著資料庫中的所有對象,如表,列,索引等等。
欄位xtype代表對象類型,u代表用戶表,p代表存儲過程,tr代表觸發器。
name欄位表示對象名稱。
以用友資料庫為例
use ufdata_888_2004
查詢資料庫ufdata_888_2004的用戶表
select * from sysobjects
where xtype = 'u' and name like 'fa_%'
order by name
查詢資料庫ufdata_888_2004的存儲過程
select * from sysobjects
where xtype = 'p' and name like 'fa_%'
order by name
查詢資料庫ufdata_888_2004的觸發器
select * from sysobjects
where xtype = 'tr' and name like 'sa_%'
order by name
介紹一下sql server資料庫中的系統表:Syscolumns,在每個資料庫中都存在此表。
name:名稱
id:該列所屬的表對象 ID,或與該參數關聯的存儲過程 ID
select * from Syscolumns
syscolumns和sysobjects連用:
select col.name,obj.name
from syscolumns col join sysobjects obj on col.id = obj.id
where obj.xtype = 'u' and obj.name like 'sa_%'
order by col.name
表syscolumns和systypes連用
select sysobjects.name,systypes.name from syscolumns inner join
systypes on syscolumns.type = systypes.type
inner join sysobjects on syscolumns.id = sysobjects.id
where systypes.name = 'datetime' and sysobjects.xtype = 'u' and
sysobjects.name like 'sa%'
作者:tshfang
來源: 泥胚文章寫作 http://www.nipei.com 原文地址:
http://www.nipei.com/article/2181

㈥ plsql怎麼看錶結構

  • 方式一:

    按住ctrl鍵不放,滑鼠左鍵點擊表名稱,即顯示表的一切詳細情況(表空間,表名稱,索引,列,鍵,許可權,觸發器 ...)

㈦ 怎樣用SQL語句查詢一個資料庫中的所有表

1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。

㈧ SQL中有主外鍵的兩表到底那這是主表

哪個是主表很重要麼?如果兩個表都有a_id 和 b_id,並且都是主鍵,那麼就是互為主表。

以A為例,如果a.a_id是主鍵,那麼就唯一不重復,a.b_id就是外鍵,關聯B表(前提:b.b_id是主鍵)
互為外鍵的情況是很少的,因為這種情況幾乎就是一一對應關系,範式上屬於不合理結構

㈨ sql中多表聯合查詢怎麼判斷主表是那個

如果是用的join 或者 union 電話,最先寫的是主表(即最左邊的),
如果用的是嵌套方法的話,最外層的是主表,作為條件或者其他什麼的是非主表,
一般情況下是將一個不為空的表作為主表,當然它要有你所要信息的主鍵,因為如果主表為空的話,再聯合查詢就會報錯或者得到的信息不符合需求的,

㈩ sql 如何根據明細查詢主表數據

SELECT * FROM 主表 a LEFT JOIN 子表 b ON a.主表ID=b.主表ID WHERE b.name LIKE '%烏龜%'