『壹』 sql 參照表與被參照表
select top 0 *
into 參照表
from 被參照表
『貳』 SQL中如何查詢兩張有參照關系的表
假設Score表中有四個列Score1,Score2,Score3,SNO
假設Student表中有六個列Name,Sex,Age,Home,Detail,SNO
則顯示學生的所有信息包括成績(Name,Sex,Age,Home,Detail,Score1,Score2,Score3)
查詢語句如下:
SELECT Student.Name, Student.Sex, Student.Age, Student.Home, Student.Detail, Score.Score1, Score.Score2,Score.Score3
FROM Student INNER JOIN
Score ON
Student.SNO = Score.SNO
有問題的話給我發消息,我幫你查詢。
『叄』 sql sever 中如何在兩個表之間建立參照關系
sql server中表之間的關聯關系是通過建立外鍵來實現的。
創建SQL的主鍵和外鍵約束的方法:
create table Student --建表格式:create table 自定義的表名
( --欄位名一般為有一定意義的英文
StudentName nvarchar(15), -- 格式:欄位名類型()括弧裡面的是允許輸入的長度
StudentAge int, --int型的後面不需要接長度
StudentSex nvarchar(2) --最後一個欄位後面不要逗號
)
--在創建表時就可以對欄位加上約束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主鍵約束,還有標識列屬性(兩者構成實體完整性)
StudentName nvarchar(15) not null, --加非空約束,不加"not null" 默認為:可以為空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外鍵約束,格式:FOREIGN KEY REFERENCES 關聯的表名(欄位名)
StudentAge int DEFAULT ((0)), --加默認值約束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加檢查約束,格式:check (條件表達式)
)
--外鍵約束:
alter table 表名
add constraint FK_欄位名--"FK"為外鍵的縮寫
foreign key (欄位名) references 關聯的表名(關聯的欄位名) --注意'關聯的表名'和'關聯的欄位名'
『肆』 SQL基本表的創建中是通過什麼實現參照完整性規則的
主鍵實現 唯一
外鍵實現 完整
例如有 學校表 班級表 學生表
班級表裡面有 所屬學校, 並創建了外鍵約束
學生表裡面有 所屬班級, 並創建了外鍵約束
這樣創建完畢以後,
例如我插入了下面這樣的數據.
學校: 某某大學
班級: 2012級1班; 2012級2班; 2012級3班;
學生: 張三(1班); 李四(2班);王五(3班)
數據創建好以後。
如果沒有外鍵的話
我刪除 學校 某某大學
那麼 班級裡面的數據就有問題了。
去查詢一下 班級的所屬學校, 是有數據的, 但是去查詢學校, 發現學校不存在了。
我刪除 2012級3班;
那麼 王五 的數據就有問題了。
去查詢一下, 顯示 王五所在班級為 3班, 但是班級表裡面沒這個記錄。
這樣就導致數據不完整了。
如果有外鍵約束的話。
我刪除 學校 某某大學
默認情況下, 資料庫就會拒絕我的本次操作, 並提示我有外鍵的數據存在, 不能刪除
我刪除 2012級3班。
默認情況下, 資料庫就會拒絕我的本次操作, 並提示我有外鍵的數據存在, 不能刪除
我需要把 王五所在班級 從3班 修改為 2班 以後,
確保 2012級3班 下面沒有學生了, 我才能刪除 2012級3班
『伍』 sql 一個表是標准表,另一張表是參數表,如何用SQL server 核對參數表裡值范圍是否合規
簡單啊。每個欄位都case來判斷是否符合標准就是了。
select
case when (select count(1) from 標准表 where 參數名=『參數1』
and 參數表.參數1 between 下限 and 上限) >0 then 『符合標准』else 參數表.參數1 end 參數1,
case when (select count(1) from 標准表 where 參數名=『參數2』
and 參數表.參數1 between 下限 and 上限) >0 then 『符合標准』else 參數表.參數2 end
參數2,
case when (select count(1) from 標准表 where 參數名=『參數1』
and 參數表.參數3 between 下限 and 上限) >0 then 『符合標准』else 參數表.參數3 end
參數3,
case when (select count(1) from 標准表 where 參數名=『參數1』
and 參數表.參數4 between 下限 and 上限) >0 then 『符合標准』else 參數表.參數4 end
參數4 from 參數表
『陸』 sql查詢某一欄位根據另一參照表的范圍欄位來進行范圍判斷再顯示出對應范圍的等級。
1、只針對該題目,這樣應該是可以的,沒有實測。
Selectb.id,b.售出率,a.等級
froma,b
whereb.售出率-a.等級>=0Andb.售出率-a.等級<20
2、如果可以修改表,可以在a表中添加一個欄位。
Selectb.id,b.售出率,a.等級
froma,b
whereb.售出率>=a.范圍下限Andb.售出率<=
『柒』 1、 舉例說明創建外鍵的SQL語句中的參照表和被參照表各指什麼ON DELETE CASCADE 關鍵字對刪除記錄有何影
學生表(學號,姓名) 成績表(學號,成績)
這兩個表在學號上建立外鍵關系的話, 學生表是被參照表, 成績表是參照表
通常被參照表的被參照列一般都是主鍵
ON DELETE CASCADE 是級聯刪除
意思是說如果刪除學生表裡的A學號的記錄,那成績表裡所有學號為A的記錄也會同時被刪除。
『捌』 SQL中資料庫表 怎麼在視圖中建立各表的參照關系
視圖的定義:
對視圖的創建和表類似,有創建視圖、使用視圖、修改視圖和刪除視圖
另外,可以通過更新視圖(包括插入、修改和刪除)數據來修改基本表中的數據。
表與表直接存在外鍵關聯
在視圖設計中直接拖拉對應的欄位,連接到別的表上
這樣2個表就存在外鍵關聯
多表也是同樣使用方式
假如需要創建視圖TestView,A 表與B 表的關聯,並且A表有欄位a,b,B表有欄位b,c
視圖如下:
select * from A inner join B On A.b=B.b
『玖』 在SQL Server中,怎樣參照已有的表建一個結構完全相同的新表
最簡單的方法就是直接把創建表結構的語句導出來 2005裡面有這個功能,步驟如下:
1、選中資料庫A,右鍵->任務->生成腳本,彈出生成腳本向導窗體,點擊下一步。
2、選擇要生成腳本的資料庫,點擊下一步,彈出選擇腳本選項窗體,點擊下一步。
3、彈出選擇對象類型窗體,全選,點擊下一步。
4、彈出選擇存儲過程窗體,全選,點擊下一步。
5、彈出選擇表窗體,全選,點擊下一步。
6、彈出輸出選項窗體,根據需要選擇一種方式。
然後會生成一個創建資料庫的腳本,包括表、存儲過程等等,我們只需要把表A的改成表B,運行一下就可以創建一個無數據的空資料庫B,並且和A表結構完全一樣。不明白可以留言給我,有問必答!
『拾』 sql外碼添加,有兩個被參照表,怎麼寫
單號和產品編號組合的外鍵應該是索引,建立索引,從貨單表和產品表引用對於欄位。