資料庫知識

2021-08-14 15:11:53 字數 1829 閱讀 5927

關於資料庫的知識點

表的子查詢,聯合查詢,連線查詢

子查詢 

查詢中巢狀查詢。把子查詢的結果作為父查詢的查詢物件

如 select * from (

select cname,cid from tblclass

union

select dname,did from department

) as t1

order by cname

聯合查詢

將多個結果集合並成乙個結果集,前提是列數相同,並且相應的列的型別相同。判斷標準以第乙個表的結果集為準。

執行結果集的特點:結果集的列名以第乙個為準;

如上面的語句的結果集為在第乙個表的基礎上,插入第二個表的資料。列數和原來一致,只增加行數。

使用union關鍵字

自動排序、消除重複項

使用union all關鍵字

不自動排序,也不消除重複項 

sql資料庫中有兩張表,一張人員(t_person)表、一張卡(t_card)表,人基本上都那麼幾張卡,像銀行卡、飯卡、水卡、電費卡……

連線查詢 

做多個表的資料查詢。有時,結果集中的資料被包含在多個表中,則需要使用連線查詢。

自連線inner join …on

在實際開發過程中,如果幾個表(實體)滿足樹狀結構,每個表處於單獨一級,且觀察發現表的結構非常類似,於是考慮將這些表合成一張表,這個時候就可以用自連線。

1.內連線(inner join 或 join)

內連線是等值連線,它使用「=、>、<、<>」等運算子根據每個表共有的列的值匹配兩個表中的行 共有的

查詢語句:

select * from t_person inner join t_card on t_person.cardid = t_card.cardid

外連線

2.左連線(left join 或 left outer join)

左連線又稱左向外連線,查詢的結果集包括sql語句中左表的所有行,右表中匹配的行。如果左表的某行在右表中沒有匹配行,則用空值表示

select * from t_person left join t_card on t_person.cardid = t_card.cardid

3.右連線(right join 或 right outer join)

右連線也成右向外連線,查詢的結果集包括sql語句中右表的所有行,左表中匹配的行。如果右表的某行在左表中沒有匹配的行,則用空值表示

查詢語句:

select * from t_person right join t_card on t_person.cardid = t_card.cardid

4.完全外連線(full join 或 full outer join)

完全外連線,查詢的結果集包括sql語句中左表和右表的所有行。如果某行在另乙個表中沒有匹配行時,則用空值表示。

select * from t_person full join t_card on t_person.cardid = t_card.cardid

left join:左表中的資訊全部出現,右表中的資訊必須能夠匹配的才出現

未匹配的項使用null填充

right join:右表中的資訊全部出現,左表中的資訊必須能夠匹配的才出現

未匹配的項使用null填充

full join:所有資料都會出現,不匹配的項使用null填充

只要想做連線查詢,必須分析出兩個表間的關係

總結 sql中連線查詢分內、外連線,外連線分左連線、右連線和完全外連線,它們的功能與檢視差不多。其中左右連線查詢是相對應的,即把連線型別和左表、右表互換位置就可得到相同的結果集。

資料庫知識

1 資料庫的建立 建立格式 create table table name 字段 其中,字段包含三部分內容 名稱 域 逗號 域即資料型別,資料庫包含5中資料型別 integer real text blob null 2 改變表 altertable 命令可以改變表的結構,sqlite版的alter...

資料庫知識

dml data manipulation language 資料庫操作語言 update,insert,delete 資料庫在執行dml時,是先把資料放到記憶體的回滾段 rollback 如果執行提交 commit 時,才把回滾段裡的資料儲存到資料庫中,如果還沒執行提交 commit 使用者可以將...

資料庫知識

資料庫知識 1.簡述索引的原理及意義?答 索引是對錶的一列或多列進行排序的結構,因為絕大多 的搜尋方法在搜尋排序結構時效率都會大大提高,所以如果表中 某一列經常被作為關鍵字搜尋,則建議對此列建立索引,索引提供指標以指向儲存在表中指定列的資料值,根據指定的排 序次序排序這些指標,資料庫使用索引的方法 ...