mysql資料連線查詢 mysql 資料查詢

2021-10-18 02:31:04 字數 1384 閱讀 3883

連線查詢

1.連線(join)

也稱θ連線,從兩個關係的笛卡爾積中選擇屬性間滿足一定條件的元組。

等值連線:θ為「=」的連線運算稱為等值連線。從關係r和s的廣義笛卡爾積中選取a、b屬性值相等的元組。

自然連線:一種特殊的等值連線。要求關係中進行比較的分量必須是同名的屬性組,並且在結果中把重複的屬性去掉。

外連線:把懸浮元組也儲存在結果關係中,而在其他屬性上填null。outer join

左外連線:只保留左邊r關係的懸浮元組。  left outer join

右外連線:只保留右邊s關係的懸浮元組。  right outer join

2.連線查詢:

查詢同時設計兩個以上的表,則稱之為連線查詢。是資料庫中最主要的查詢,包括等值連線查詢、自然連線查詢、非等值連線查詢、自身連線查詢、外連線查詢和復合條件連線查詢。

1.等值與非等值連線查詢:

select student.*,sc.* from student,sc where student.sno=sc.sno;   等值連線

select student.sno,sname,s***,sage,sdept,cno,grade      自然連線

from student,sc where student.sno=sc.sno;

一條sql語句可以同時完成選擇和連線查詢,這是where子句是由連線謂詞和選擇謂詞組成的復合條件。

select student.sno,sname,s***,sage,sdept,cno,grade

from student,sc where student.sno=sc.sno and sc.grade>90;

該查詢的一種優化的執行過程,先從sc中挑選出cno=『2『並且grade>90的元組形成乙個中間關係,再和student中滿足連線條件的元組進行連線得到最終的結果關係。

2.自身連線:

查詢有先修課的課

select first.cno,second.cno from course first,course second where first.cpno=second.cno;

為course取了兩個別名fist,second

3.外連線:

把懸浮元組儲存在結果集合中。

select student.sno,sname,s***,sage,sdept,cno,grade

from student left outer join sc on(student.sno=sc.sno);

4.多表連線:

涉及多張表。

select student.sno,sname,cname,grade

from student,sc,course where student.sno=sc.sno and sc.cno=course.cno;

python連線mysql並提交mysql事務示例

複製 如下 coding utf 8 import sys import mysqldb reload sys sys.setdefaultencoding utf 8 class db object def init self,host 127.0.0.1 port 3306,user root ...

qt連線mysql安全麼 Qt連線Mysql的問題

標頭檔案 include include include 工程中需要加入 qt sql 資料庫中的中文顯示為亂碼的解決方法 在main函式中加入 include qtextcodec setcodecfortr qtextcodec codecforname utf 8 qtextcodec set...

mysql連線查詢例項 MySQL連線查詢例項詳解

建立表suppliers create table suppliers s id int not null auto increment,s name char 50 not null,s city char 50 null,s zip char 10 null,s call char 50 not...