注意:小寫的字母為表的別命名,欄位大小寫沒有區分,你要是區分的話區分下,sql 查詢器裡面可以設置
查詢訂單金額最高的客戶名、貨品名稱、購買數量、金額和下單時間。
select c.cname 客戶名,p.pname 貨品名稱,o.quantity 購買數量,max(o.money)金額,o.orderdate下單時間
from Customer c,Proct p, Orders o
where c.cid=o.cid and o.oid=p.pid
2.查詢庫存量低於10的商品名稱
select p.pname 貨品名稱
from Proct p
where p.quantity<10
3.
假設訂單表Orders已創建,為該表添加默認值約束,訂單日期為當前日期
Alter table Orders Alter Column 訂單日期 datetime default getdate()
❷ sql 20051、 對訂單信息表按照銷售部門進行分組統計,即求出每個銷售部門的銷售數量,統計的
統計
select 部門編號,部門名稱,(select sum(數量) from 銷售表 as b where b.部門編號 = a.部門編號) from 部門表 group by 部門編號
訂單
訂單應分訂單主表、訂單子表等
主表為供應商、日期、訂貨部門和人員等,
子表為商品信息、單價、數量、到貨日期等
如果有請購表,需要對應關聯。
因為不知道你的具體業務,只能說明思路,具體語句不難。
開始事務
寫主表
循環寫子表
調整請購表等的信息
結束事務
注意有錯誤處理語句和事務回滾語句。
業務流程,通用內容可參照網路搜索的《企業內部控制應用指引第7號——采購業務》
❸ SQL高手請進、謝謝! 有四張表,客戶表,客戶訂單表,訂單表,book表 .....寫在問題補充里
問題1:
select address, client_name, phone, order_id
from client A
inner join client_order B
on A.client_id =B.client_id --這個不用解釋吧
問題2:
select tt1.client_name, sum(tt2.count*tt2.price) as total_price
from (select client_name, order_id
from client A
inner join client_order B
on A.client_id =B.client_id) tt1 --得到客戶訂單表
inner join (select order_id,count,price
from order C
inner join book D
on C.book_id=D.book_id) tt2 --得到訂單價格表
on tt1. order_id=tt2.order_id --根據訂單號做連接
group by tt1.client_name --根據客戶名匯總金額
❹ 急!!今晚要!!SQL題目! 1、由「訂單信息」表和「銷售人員」表給出每個銷售人員的客戶數量的統計
問題提供的信息太少了,分數也很少
❺ 在資料庫中利用SQL語言建立「客戶表」、「貨品表」和「訂單表」,表結構如下:
CREATE TABLE
表名_客戶表
(
列名1 類型 是否為空,
列名2 類型 是否為空,
列名3 類型 是否為空
)
例如:
Create table 客戶表
(
姓名 char(16) NOT NULL,
電話 char(11) NOT NULL,
)
注意:在建表前先要選擇資料庫,
❻ 誰來幫我解決這些SQL SERVER測試題
aacbd
❼ 求SQL試題答案
1. C
2. A
3. A
4. B 說明:%是一個通配符,如select * from test where ID like 12% 這句話就表示在test表中搜索出ID以12開頭的數據記錄,可以是123,也可以是1234.
5. C
6. A 如果讀者也作為主鍵你想會發生啥情況,每個人只能借1本書,災難啊
7. A 我真的運行了一次,因為我也不確定...
8. B
9. C
10.D
11.D
12.B 這一題考的是LEFT OUTER JOIN的用法,LEFT OUTER JOIN等同於LEFT JOIN,數據數目按照較大數來算.
二.
1. ABCE D是程序員做的事
2. ABC 系統固定的角色許可權是標準的PUBLIC許可權,用戶可以根據需要進行許可權的調整,就是C選項
3. DE A錯誤的原因是因為事務備份的還原精度要比差異備份高,能恢復到故障點前一刻,這是差錯備份做不到的;B,事務日誌只能恢復從上一次備份到本次故障點之間的一個時刻.
4. AB
❽ 懸賞:SQL多表查詢的題緊急求解,在線等~!!
SELECT 訂單表.訂單號, 員工表.名, 員工表.姓, 客戶表.聯系人,
訂單明細表.單價 * 訂單明細表.數量 AS a
FROM 訂單表 INNER JOIN
訂單明細表 ON 訂單表.訂單號 = 訂單明細表.訂單號 INNER JOIN
員工表 ON 訂單表.員工編號 = 員工表.員工編號 INNER JOIN
客戶表 ON 訂單表.客戶編號 = 客戶表.客戶編號
WHERE (訂單明細表.單價 * 訂單明細表.數量 > 7000)
暈死了...我查過來查過去還是13條
SELECT 單價 * 數量 AS a
FROM 訂單明細表
WHERE (單價 * 數量 > 7000)
這個查也是13行
❾ 一些SQL的試題
1.應用程序
2.實體完整性
3.distince
4.
5.create Nonclustered index IDX_authors on authors(州名列,城市名列)
6.創建表
7.select 列名 from 表名
8.sum()
9.top
10.alter procere
11.ltrim()
12.declare @變數名 數據類型
13.where
14.from
15.order by
16.cast(表達式 as 數據類型)
17.count()
18.drop procere 存儲過程名
19.創建資料庫
20.價格大於15美元的所有數據
21.資料庫
22.rollback
23.
24.服務管理器
25.
26.數據冗餘(備份)
27.3
28.資料庫
29.應用程序
30.drop table
33.操作系統
許可權
1.
2.是並發控制的單位,是用戶定義的一個操作序列,具有原子性,一致性,隔離性,持續性四個特性。
3.共享鎖(S鎖):如果事務T對數據A加上共享鎖後,則其他事務只能對A再加共享鎖,不能加排他鎖.
獲准共享鎖的事務只能讀數據,不能修改數據。
4.
5.
1.存儲過程可以使得程序執行效率更高、安全性更好,因為過程建立之後 已經編譯並且儲存到資料庫,直接寫sql就需要先分析再執行因此過程效率更高,直接寫sql語句會帶來安全性問題,如:sql注入
2.建立過程不會很耗系統資源,因為過程只是在調用才執行。
6.聚簇索引是一種對磁碟上實際數據重新組織以按指定的一個或多個列的值排序。
7.
8.是並發控制的單位,是用戶定義的一個操作序列,具有原子性,一致性,隔離性,持續性四個特性。
BEGIN TRAN [Tran_name]開始事務
COMMIT TRAN [Tran_name]事務完成提交事務
9.存儲過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後存儲在資料庫伺服器中,應用程序使用時只要調用即可。
10.增量備份:是針對於上一次備份(無論是哪種備份):備份上一次備份後,所有發生變化的文件。
12.原子性,要麼都做,要麼不做。
13.排它鎖若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其它任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。
它防止任何其它事務獲取資源上的鎖,直到在事務的末尾將資源上的原始鎖釋放為止。
14.分布式資料庫系統通常使用較小的計算機系統,每台計算機可單獨放在一個地方,每台計算機中都有DBMS的一份完整拷貝副本,並具有自己局部的資料庫,位於不同地點的許多計算機通過網路互相連接,共同組成一個完整的、全局的大型資料庫。
15.
17同2,18同8
19.DBMS資料庫管理系統,DBA資料庫管理員
20.1對1,一個學生對應一個學號
1對多 一個學生對應多門功課
多對多 商品與廠商
(備註:只能做這么多了,很長時間沒看書了,有時間可以看看<資料庫系統概論>薩師煊 王珊 高等教育出版社,很不錯的一本書哦。上有你要的答案,特別是簡答題。)
21.
22.資料庫完整性,對資料庫提出的某種約束條件或規則。
分三種:實體完整性,參照完整性,用戶自定義完整性
23.
24.原則如下:
●在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的欄位則由優化器自動生成索引。
●在頻繁進行排序或分組(即進行group by或order by操作)的列上建立索引。
●在條件表達式中經常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引。比如在雇員表的「性別」列上只有「男」與「女」兩個不同值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴重降低更新速度。
●如果待排序的列有多個,可以在這些列上建立復合索引(compound index)。
26。聚集索引確定表中數據的物理順序。由於聚集索引規定數據在表中的物理存儲順序,因此一個表只能包含一個聚集索引。但該索引可以包含多個列(組合索引)
非聚集索引一種索引,該索引中索引的邏輯順序與磁碟上行的物理存儲順序不同。一個表可以有多個聚集索引
❿ SQL資料庫題目!!!急急急!!!
1)Students表:包含SNo,SName,SSex,SClass,SAge 其中SNo為主鍵
2)Courses表:包含CNo,CName,CGrade(開設學期),CScore(學分)、IsProfession(是否是專業課) 其中CNo為主鍵
3)Scores表:包含SNo,CNo,Score 其中SNo和CNo分別與Students中的SNo和Courses中的CNo有外鍵關系。
1)查詢全班年齡在20歲至24歲之間的所有學生的信息。
select * from Students where SAge>=20 and SAge<=24 (是否包含20和24,修改相關=號)
2)查詢開設學期為2的所有的專業課程號、課程名稱、和學分。
select CNo,CName,CScore from Courses where CGrade=2 and IsProfession=1(假設專業課是此值為1)
3)查詢學號為000004學生的所有課程的成績。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER JOIN Courses ON Scores.CNo=Courses.CNo where Scores.SNo='000004'
4)查詢姓名為「王明」的學生的所有及格課程的課程名稱和成績。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students where SName='王明') and Scores.Score>=60
5)查詢班級為「0401」的所有學生的課程名為「SQL資料庫管理」的成績,按成績降序的方式排列,如果成績相同,則按照學號進行排列。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students
where SClass='0401' order by Scores.Score