第1題
A、子查詢,父查詢
B、父查詢,外層查詢
C、父查詢,子查詢
D、內層查詢,子查詢
第2題
A、子查詢也稱為嵌套查詢,是嵌套在外層查詢WHERE子句中的查詢。
B、子查詢為主查詢返回其所需數據,或者對外查詢的查詢結果作進一步的限制。
C、子查詢與連接查詢都能實現多表查詢數據
D、使用EXISTS實現子查詢時,必須使用內、外查詢的相同意義的列進行比較運算。
第4題
A、SELECT
B、FROM
C、WHERE
D、GROUP BY
E、HAVING
F、ORDER BY
G、LIMIT
H、OFFSET
I、WITH
J、FOR
K、WHILE
L、INDEX
M、CREATE
第6題
實驗五:嵌套查詢 實驗名稱:嵌套查詢 一、實驗目的 掌握SELECT語句的嵌套使用,實現多表的復雜查詢,進一步理解SELECT語句的高級使用方法。 二、實驗原理 使用嵌套查詢時,先用內查詢(子查詢)挑選出部分數據,以作為外查詢(主查詢)的數據來源或搜索條件。包含子查詢的語句通常采用以下格式: WHERE 表達式 [NOT] IN (子查詢) WHERE 表達式 比較運算符 [ANY|ALL] (子查詢) WHERE [NOT] EXISTS (子查詢) 其中前兩種又稱為不相關子查詢,子查詢的查詢條件不依賴其父查詢,所以可以先求出子查詢的結果,然后由內到外逐層求解。最后一種為相關子查詢,其子查詢的查詢條件依賴于外層父查詢的某個屬性值,所以不能先一次性地求出子查詢的結果。 三、實驗設備 安裝有SQL SERVER 2005及以上的計算機。 四、實驗示例 1、由employee表中查找出薪水最高的員工信息。 select * from employee where salary= (select max(salary ) from employee ) 2、用存在量詞查找沒有訂貨購書記錄的客戶名稱 select cust_name from customer a where not exists (select * from sales b where a.cust_id=b.cust_id) 五、實驗內容 l 針對bookshop數據庫,完成以下操作: 1、在sales表中查找出銷售金額最高的訂單(訂單號,銷售金額,訂購日期)。 2、由sales表中查找出訂單金額大于“E0016業務員所接任一張訂單的金額”的所有訂單,并顯示承接這些訂單的業務員和該訂單的金額。 3、找出公司女業務員所接的訂單。 4、找出目前業績未超過300元的員工編號和姓名。 5、在銷售主表sales中查詢銷售業績最高的業務員編號及銷售業績。 6、找出目前業績超過300元的員工編號和姓名。 7、查詢訂購的產品至少包含了訂單102893中所訂購產品的訂單。 8、查詢末承接業務的員工的信息。 9、查找未被售出的圖書編號和書名。 10、 找出既購買了“20652”又購買了“22082”的顧客名稱。 11、 統計收件人為“趙毅”的用戶所購買的圖書總金額,訂單筆數。 12、 查找收件人為“趙毅”的用戶所購買的圖書信息(書名和書號)。 13、 查找員工“方美美”所承接的訂單明細。 14、 統計員工“方美美”所承接的訂單筆數,總銷售業績。 15、 查找購買了“數據庫系統概論”的客戶信息(客戶名稱,收件人,電話)。 16、 統計購買了“數據庫系統概論”的訂單筆數,總銷售量,總金額。 l 針對S_T數據庫,完成以下操作: 1、 找出沒有選修任何課程的學生信息。 2、 找出選修了“數據庫”的學生的姓名。 3、 找出既選修了“001”又選修了“004”課程的學生姓名。 4、 找出姓“沈”的同學所選修的所有課程的名稱。 5、統計“數據庫”的平均分。 6、統計“王芳”同學所選的課程數,最高分,平均分,以及最低分。 7、找出至少選修了“200515004”號同學所選修課程的學生學號。 8、找出被所有同學選修了的課程號。 9、找出“數據庫系統概論”這門課成績最高的學生學號,姓名。 10、 找出“沈菁菁”同學所選的課程中,成績最高的課程信息,包括課程后,課程名。
第7題
A、將一個查詢塊嵌入到另一個查詢塊的WHERE子句或HAVING子句中。
B、將一個查詢塊嵌入到另一個查詢塊的WHERE子句中。
C、將一個查詢塊嵌入到另一個查詢塊的FROM子句中。
D、將一個查詢塊嵌入到另一個查詢塊的SELECT子句中。
第8題
有以下SQL語句:
SELECT訂單號.簽訂日期,金額FROM訂單,職員
WHERE訂單.職員號=職員.職員號AND姓名=”王五”
與如上語句功能相同的SQL語句是( )。
A. SELECT訂單號,簽訂日期,金額FROM訂單
WHERE EXISTS(SELECT*FROM職員WHERE姓名=”王五”)
B. SELECT訂單號,簽訂日期,金額FROM訂單WHERE
EXISTS(SELECT書FROM職員WHERE職員號=訂單.職員號AND姓名=”王五”)
C. SELECT訂單號,簽訂日期,金額FROM訂單
WHERE IN(SELECT職員號FROM職員WHERE姓名=”李二”)
D. SELECT訂單號,簽訂日期,金額FROM訂單WHERE
IN(SELECT職員號FROM職員WHERE職員號=訂單.職員號AND姓名=”王五”)
【我提交的答案】: D |
【參考答案與解析】: 正確答案:B |
謂詞EXISTS用來檢驗在子查詢中是否有結果返回,本題中內層查詢引用了外層查詢的表,所以也是內外層互相關嵌套查詢。故排除選項A、C、D的錯誤之處是在 WHERE和IN之間缺少“職工號”。
沒有where和in的關系
為了保護您的賬號安全,請在“上學吧”公眾號進行驗證,點擊“官網服務”-“賬號驗證”后輸入驗證碼“”完成驗證,驗證成功后方可繼續查看答案!