A. sql嵌套查詢完成外連接功能的改寫
select name,title from actor,movies,actor_role where actor.AID=actor_role.AID and movies.MID=actor_role.MID
union all
select name, NULL title from actor b where not exists (select 1 from actor_role a where a.AID=b.AID)
出演過的
union all
沒出演過的
B. SQL嵌套查詢
你說的要查score表,但是你查詢中from的表是scores。
如果不是這個原因,你看下資料庫連接是否正確。
C. SQL的嵌套查詢與連接查詢的區別~~~~急急急
解釋一下嵌套查詢,就是一條查詢語句中間再套一個條查詢語句,稱之嵌套查詢。如樓上的第一條例子。
連接查詢的意思說白了,就是在不同的表中進行查詢,但是前提就是表與表之間存在著關系,如,拿銀行信用卡表A和個人信息表B舉例子,表A中肯定有卡號,個人信息表中也存在著卡號,我想查詢這個人辦了什麼樣的信用卡的話,假定表B裡面肯定沒有信用卡的信息了,但在表A裡面有相關信息,只有關聯信用卡的卡號,再進行對表B的欄位的查詢,自然就形成了連接查詢。
select b.信用卡屬性,b.信用卡類型 from A,B where A.ID=B.ID and A.姓名=』張三『
一般來說2表或多表關聯的欄位基本都是不重復數據的欄位,如PK,多欄位PK等等。
D. 關於SQL的嵌套查詢和連接查詢
只要有相同點,連接和嵌套互相都是可以用的,
這個沒有特定要求,什麼時候用是業務需求決定的。
但是要注意,能用一條sql完成就不要用多表聯查,能用多表聯查就不要用子查詢,所以建表的時候要考慮好表結構。使用多表聯查一定要建立主外鍵關系,會提高查詢速度。
遇到問題首先想的是能不能用最簡單的sql完成想要的功能,做不到才去考慮其他方法。
E. SQL實驗:嵌套查詢和連接查詢
1
嵌套:
select 姓名 from student where 學號 in (select 學號 from 選課 where 課號 in (select 課號 from 課程 where 課名='資料庫原理'))
連接:
select 姓名 from 學生 join 選課 on 學生.學號=選課.學好 join 課程 on 選課.課號=課程.課號 where 課名='計算機原理'
2 嵌套
select 學號,年齡,性別,系名 from 學生 where 年齡 >(select max(年齡) from 學生 where 系名=計算機系)
3 連接
select 課名,成績
from 學生 join 選課 on 學生.學號=選課.學好
join 課程 on 選課.課號=課程.課號
where 姓名='張力'
F. 資料庫SQL語言嵌套查詢問題
嵌套就是類似IN語句,比如select * from table1 where id in (select id from table2),連接就是用JOIN把2表根據一個欄位進行數據連接,區別就是連接查詢效率比嵌套高,而且JOIN可以通過改變JOIN先後順序,先掃描記錄少的表,從而提高速度,如果嵌套會固定先搜索子查詢
G. 資料庫SQL語言嵌套查詢問題
嵌套就是類似IN語句,比如select
*
from
table1
where
id
in
(select
id
from
table2),連接就是用JOIN把2表根據一個欄位進行數據連接,區別就是連接查詢效率比嵌套高,而且JOIN可以通過改變JOIN先後順序,先掃描記錄少的表,從而提高速度,如果嵌套會固定先搜索子查詢
H. 資料庫的SQL語句中,嵌套查詢和連接查詢有什麼區別,說的詳細的
嵌套就是類似IN語句,比如select
*
from
table1
where
id
in
(select
id
from
table2),連接就是用JOIN把2表根據一個欄位進行數據連接,區別就是連接查詢效率比嵌套高,而且JOIN可以通過改變JOIN先後順序,先掃描記錄少的表,從而提高速度,如果嵌套會固定先搜索子查詢