關系數據庫三

這章就是講sql.

1.SQL數據類型有哪些?

略.

2.簡述表和view視圖層面的操作:

create table (name) (屬性名 類型 約束,...); 聲明主鍵可以在屬性后面直接聲明, 而多屬性主鍵需要單獨語句, 聲明外鍵也要單獨語句. PRIMARY KEY (屬性名), FOREIGN KEY(屬性名) REFERENCES 表(屬性名).

drop table 名字,名字,...;

alter table 名字 alter/add/add contraint/drop/drop constraint 名字 +*

定義視圖:

create/alter view 名字(屬性) as 查詢語句 (alter操作就是修改映射保持邏輯數據獨立性)

drop view 名字;

3.具體數據層面處理操作.

insert into 表() values() / from(語句) //values(直接填值) from(子查詢語句)

update 表名 set 屬性=賦值 where

delete from 表名 where?

4.簡述完整性檢查對操作的反饋.

如果是實體完整性會被破壞, 直接拒絕新操作.

如果是參照完整性被破壞, 如果是參照關系的修改或添加 直接拒絕 如果是被參照關系的修改或者刪除, 拒絕, 級聯, 對應項目值歸null三選一.

三種選項可以在聲明參照完整性約束的時候聲明 FOREIGN KEY fk_ma REFERENCES stu(sa)?

ON DELETE RESTRICT | SET NULL | CASCADE

ON UPDATE RESTRICT | SET NULL | CASCADE

update delete語句 where 語句可以嵌套子查詢語句

5.視圖可否修改?插入要滿足什么條件?

視圖在一定條件下是可以修改的, 需要視圖中元組與基礎關系中元組一一對應(定義的時候不能有聚集函數, 分組, 并,去重, from 和where包含相關子查詢)

插入需要視圖可修改, 不能包含一個基本關系屬性的多個副本, 且屬性不能定義為表達式.

6.select 如何去重

select distinct +*

7.UPPER()大寫, 范圍BETWEEN AND , LIKE 'E%'/'E___' REGEXP IS NULL.

8.集合操作并可以用union, 那么交(intersect)和差(minus,except)怎么表達呢?

可以采用in/ not in來表達

9.如何對多個屬性排序?

采用order by 屬性1 asc, 屬性2 desc.?

10. "order by 屬性1" 表示什么?空值在表前還是表后?

表示根據屬性1升序排列, 空值在表后.

11. 如何從查詢結構中去掉最高值后選取前5個結果?

select * form table where attribute is not null order by attribute1 desc limit 5 offset 1;

12.什么聚集操作不會跳過null?

count(*)

13.為什么having語句才能使用聚集函數, 而where不行?

因為分組操作在where后 having前.


join操作:

1.join on condition

2.join using Sno

3.left join on

4.natural right join

三類嵌套:

exist語句 in語句 邏輯比較語句(包含ALL SOME ANY修飾詞)

相關子查詢依賴外查詢, exist語句中可以運用相關子查詢

exist表示全稱謂詞 即所有都有

exist 表示邏輯蘊含->

派生表必須獨立子查詢, 且必須重命名.

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容