連線查詢和子查詢(部分)

2021-07-11 15:40:49 字數 1410 閱讀 1803

連線查詢:連線查詢是關係型資料庫的主要特點,是區別其他型別的資料庫的乙個標誌!

連線查詢又分為:內連線 外連線

平時我們的查詢一般是:

select s.name,m.mark from student s,mark m where s.id=m.studentid
上面是一般的待條件查詢意思是將兩個表中id號碼相等的名字和分數列印出來  因為分
數和名字存在於兩個表中  備註   student s 這個表示將student簡稱為s;
但是當我們使用連線查詢就是:
select s.name,m.mark from student s inner

join mark m on s.id=m.studentid

select s.name,m.mark from  前面這個就不用我多說了吧!
student s inner join mark m  這個表示把兩個表相關連
on s.id=m.studentid    這個是條件
上面的這個是內連線
下面介紹外連線  : 左連線 和 右連線
做連線:
select s.name,m.mark from student s left

join mark m on s.id=m.studentid

這裡唯一變化的是inner變為left 他的意思是左邊的**中的s.name
全部列印出來  但是右邊對應的有分數的話就對應的打出來,如果右邊的沒有分數就用null來表示!
一次類推右鏈結  和全連線(full 表示兩邊的表都列印出來)
子查詢:

1,單行子查詢

select name from student where id=1002;

這句語句就不用我解釋了,不用懷疑這就是簡單的單行子查詢

select name from student where id=1002 and mark>80;

這一句只是多加了乙個條件,沒啥區別
select name,mark from mark>(select mark from student where name='張三'and ***='女');

2,多行查詢

多行子查詢不建議 開發中一般使用連線查詢,建議讀者將連線查詢弄熟悉!

子查詢 聯合查詢和連線查詢

查詢中巢狀查詢。如 select from select cname,cid from tblclass union select dname,did from department as t1 order by cname 將多個結果集合並成乙個結果集,前提是列數相同,並且相應的列的型別相同。判斷...

sql連線查詢,子查詢和分頁查詢

內連線查詢,有效的去除笛卡爾積,分兩種 根據所使用的比較方式不同,內連線分為等值連線 自然連線和自連線三種 舉乙個自連線例子 select e.name,m.name from employees e join employees m on e.id m.id 分為左外連線和右外連線,用於查詢乙個表...

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

交叉連線 實際上,交叉連線是將兩個表不設定任何條件的連線結果。交叉連線通常也被叫做 笛卡爾積 數學上可能比較多。語法 from 表1 cross join 表2 可見交叉連線只是沒有on條件而已。cross這個詞也可以省略,還可以使用inner這個詞代替 例子select from product ...