Tài liệu Giới thiệu sql query analyzer: GIỚI THIỆU SQL QUERY ANALYZER
1. Mở chương trình Query Analyzer:
Chọn Start > All Programs > Microsoft SQL Server 2000 > Query Analyser. Cửa sổ
đăng nhập sẽ xuất hiện như hình 1:
Nhấp chọn máy
chủ muốn kết nối.
Chọn ô này: nghĩa là hãy khởi động
SQL Server nếu dịch vụ này chưa chạy
Chọn kiểu đăng nhập: sử dụng chứng
thực bằng tài khoản của hệ điều hành
Windows hoặc bằng tài khoản SQL
Server.
Hình 1. Cửa sổ đăng nhập SQL Query Analyzer
Sau khi chọn OK, thì cửa sổ Query Analyzer sẽ xuất hiện như hình 2:
CSDL hiện hành
Hiển thị
cửa sổ
Object
Browser
Hình 2. Giao diện SQL Query Analyzer
2. Cách thức lưu trữ Cơ sở dữ liệu trong SQL Server:
Một CSDL SQL Server bao gồm:
- 1 hoặc nhiều data file: 1 file dữ liệu chính (*.mdf ) và không hoặc nhiều file dữ
liệu phụ (*.ndf).
- 1 hoặc nhiều log file (*.ldf): đây chính là nhật ký giao tác trên CSDL.
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 1
Nội dung trích từ Giáo trình thực hành...
14 trang |
Chia sẻ: hunglv | Lượt xem: 1258 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Giới thiệu sql query analyzer, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
GIỚI THIỆU SQL QUERY ANALYZER
1. Mở chương trình Query Analyzer:
Chọn Start > All Programs > Microsoft SQL Server 2000 > Query Analyser. Cửa sổ
đăng nhập sẽ xuất hiện như hình 1:
Nhấp chọn máy
chủ muốn kết nối.
Chọn ô này: nghĩa là hãy khởi động
SQL Server nếu dịch vụ này chưa chạy
Chọn kiểu đăng nhập: sử dụng chứng
thực bằng tài khoản của hệ điều hành
Windows hoặc bằng tài khoản SQL
Server.
Hình 1. Cửa sổ đăng nhập SQL Query Analyzer
Sau khi chọn OK, thì cửa sổ Query Analyzer sẽ xuất hiện như hình 2:
CSDL hiện hành
Hiển thị
cửa sổ
Object
Browser
Hình 2. Giao diện SQL Query Analyzer
2. Cách thức lưu trữ Cơ sở dữ liệu trong SQL Server:
Một CSDL SQL Server bao gồm:
- 1 hoặc nhiều data file: 1 file dữ liệu chính (*.mdf ) và không hoặc nhiều file dữ
liệu phụ (*.ndf).
- 1 hoặc nhiều log file (*.ldf): đây chính là nhật ký giao tác trên CSDL.
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 1
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 2
SQL Server quản lý cùng lúc nhiều CSDL, chia làm hai loại:
- CSDL hệ thống (system databases): dùng để lưu trữ thông tin quản lý toàn bộ hệ
thống SQL Server. Có bốn CSDL hệ thống, đó là: master, model, tempdb, msdb
- CSDL người dùng (user databases): là CSDL do người dùng tạo ra. Có 2 CSDL
mẫu thông dụng trong SQL Server là: Northwind và pubs
3. Chọn hay mở CSDL làm việc:
Vì hệ thống quản lý nhiều CSDL nên khi làm việc với SQL Server, điều đầu tiên là
phải chọn CSDL nào để làm việc trên đó. Có 2 cách:
Cách 1: Nhấp chọn CSDL từ danh sách xổ xuống của combo box trên thanh công cụ
(xem hình 2)
Cách 2: Thực thi lệnh: USE
4. Các kiểu dữ liệu thông dụng trong SQL:
Tên kiểu Giải thích Biểu diễn hằng
Bit Số nguyên 0 hoặc 1 0, 1
Int Số nguyên từ -231 (-2.147.483.648) đến 231
- 1 (2.147.483.647)
-1000, 23455
SmallInt Số nguyên từ -215 ( - 32.768) đến 215 - 1
(32.767)
32124, -764
TinyInt Số nguyên từ 0 đến 255 31, 45
Decimal/
Numeric
Các số thập phân từ -1038 - 1 đến 1038 - 1 1894.1204
Money Tiền tệ từ -263 đến 263 - 1 234, -87.65 $12, $542023.14
SmallMoney Tiền tệ từ -214.748,3648 đến
214.748,3647
-$45.56
-34.54
Float Số thực từ -1,79 E +308 đến 1,79 E +308 101.5E5 0.5E-2
Real Số thực từ -3.40 E + 38 đến 3.40E + 38 245.21E-10
DateTime Ngày giờ từ 1/1/1753 đến 31/10/9999 'April 15, 1998' , '15 April, 1998' ,
'980415' , '04/15/98'
SmallDateTi
me
Ngày giờ từ 1/1/1900 đến 06/6/2079 như DateTime
Char Ký tự có độ dài ô nhớ cố định và tối đa là
8000 kí tự (không hỗ trợ Unicode)
'50% complete.'
'O''Brien'
"O'Brien"
nchar Ký tự có độ dài ô nhớ cố định và tối đa là
4000 kí tự (hỗ trợ Unicode)
‘Nguyễn Văn Minh’
‘Lương Tâm’
varchar Ký tự có độ dài ô nhớ không cố định và tối
đa là 8000 kí tự (không hỗ trợ Unicode)
'50% complete.'
'O''Brien'
"O'Brien"
nvarchar Ký tự có độ dài ô nhớ không cố định và tối
đa là 4000 kí tự (hỗ trợ Unicode)
‘Nguyễn Văn Minh’
‘Lương Tâm’
5. Quan sát CSDL bằng Object Browser:
a. Quan sát lược đồ CSDL:
Để có thể truy vấn trên một CSDL nào đó, điều quan trọng là ta phải biết lược đồ
của CSDL đó. Ta có thể quan sát lược đồ của các CSDL mà SQL Server đang quản lý
bằng cách nhấp vào biểu tượng trên thanh công cụ hoặc nhấn F8. Khi đó sẽ có một
cửa sổ dọc Object Browser xuất hiện ở bên trái như hình 3 cho phép ta quan sát cấu trúc
của các bảng trong CSDL như sau:
Tên CSDL
Tên Bảng
Tên Cột
Kiểu cột
Ràng buộc
Hình 3. Cửa sổ Object Browser.
b. Mở bảng dữ liệu:
Để có thể truy vấn được chính xác, ngoài việc quan sát lược đồ CSDL, ta còn phải
quan sát dữ liệu trong từng bảng. Ta có thể xem bảng bằng Object browser như hình 4.
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 3
Hình 4. Mở bảng dữ liệu
Nhấp phím phải vào
tên bảng trong cửa sổ
Object Browser.
=> Menu xổ xuống
xuất hiện
=> Chọn mục Open
=> Bảng dữ liệu sẽ
hiển thị ở cửa sổ bên
phải.
6. Soạn thảo và thực thi câu truy vấn:
Nếu chưa kết nối với SQL Server thì ta không thể thực hiện truy vấn. Để kết nối, ta vào
menu File -> Connect. Khi đó cửa sổ kết nối sẽ xuất hiện như hình 1 ở trang on page 1.
Sau khi kết nối thì xuất hiện một cửa sổ cho phép soạn thảo câu truy vấn như hình 5.
Thực thi câu lệnh (tập lệnh)
Kiểm tra cú pháp
Cửa sổ nhập truy vấn Cửa sổ hiển thị kết quả Cửa Sổ thông báo
Hình 5. Soạn thảo và thực thi truy vấn
Trong quá trình thao tác, có thể mở thêm nhiều tập tin truy vấn bằng cách vào menu File
-> New hoặc nhấn Ctrl + N, hoặc click vào biểu tượng trên thanh công cụ.
a. Kiểm tra cú pháp câu lệnh
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 4
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 5
Sau khi gõ câu lệnh vào phần nhập câu lệnh, có thể kiểm tra cú pháp câu lệnh bằng
cách nhấp vào biểu tượng 5 trên thanh công cụ (xem hình 5) hoặc nhấn Ctrl + F5.
Nếu câu lệnh không có lỗi cú pháp thì cửa sổ nhỏ bên phải dưới sẽ hiển thị câu:
The command(s) completed successfully.
Nếu câu lệnh có lỗi cú pháp thì lỗi sẽ được hiển thị.
b. Thực thi câu lệnh:
Thực thi tất cả các câu lệnh trong tập tin script hiện hành bằng cách nhấp vào nút
trên thanh công cụ (xem hình 5) hoặc nhấn F5.
Nếu chỉ muốn thực thi một hoặc một số câu lệnh nào thôi thì bôi đen các lệnh đó và
nhấn F5.
c. Ghi chú trong SQL Query Analyzer:
Khi cần ghi chú thích hoặc tạm đóng không thực thi một đoạn lệnh nào đó, ta có thể
sử dụng kí hiệu ghi chú như sau:
o Ghi chú một dòng: Đặt dấu -- trước dòng ghi chú
o Ghi chú nhiều dòng: Đặt ghi chú trong cặp dấu /* ... */
d. Lưu lại truy vấn trong tập tin lệnh (script): (*.sql)
Sau khi nhập vào các câu truy vấn (như hình 5), các câu lệnh truy vấn có thể được lưu
lại dưới dạng file text (*.sql) bằng cách chọn File > Save hoặc nhấn Ctrl + S.
Tập tin này sau khi lưu vào đĩa có thể được mở lên lại để thực thi bằng cách vào File
> Open.
7. Một số hàm thông dụng trong SQL Server:
a. Xử lý chuỗi:
Lưu ý: SQL Server không phân biệt chữ hoa và chữ thường. Vì vậy:
điều kiện: lower(ten_ctr)='khach san QUOC TE' => vẫn cho ra kết
quả
Một số hàm xử lý chuỗi thông dụng:
• LEN(): Trả về chiều dài chuỗi
• LOWER(): đổi sang dạng chữ thường
Ví Dụ: Select LOWER(“Tran PHI phap”) => “tran phi phap”
• UPPER(): đổi sang dạng chữ hoa
Ví Dụ: Select UPPER(“Tran PHI phap”) => “TRAN PHI PHAP”
• LEFT(, ): trả về chuỗi mới gồm n ký tự bên trái của
Ví Dụ: Select LEFT(‘Tin Hoc’, 3) => ‘Tin’
• RIGHT(, ): trả về chuỗi mới gồm n ký tự bên phải của
• SUBSTRING(, ,): trả về chuỗi con bằng cách lấy từ
m ký tự từ vị trí n.
Ví Dụ: Select SUBSTRING(‘Tin Mới Học’, 5, 3) => ‘Mới’
• STUFF(, , , ): thay m ký tự trong
từ vị trí n bằng .
Ví Dụ: Select STUFF (‘Tin Học’, 5, 0, ‘Mới ’) => ‘Tin Mới Học’-- xen vào
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 6
Select STUFF(‘Tin Hãy Học’, 5, 3, ‘Mới’) => ‘Tin Mới Học’-- thay thế
Select STUFF(‘Tin Hãy Học’, 5, 4, ‘’) => ‘Tin Hoc’ -- xóa
• CHARINDEX ( , [ , ] ): trả về vị trí xuất hiện lần
đầu tiên của chuỗi 1 trong chuỗi 2, bắt đầu tìm từ vị trí thứ n của chuỗi 2.
Ví Dụ: Select CHARINDEX (‘qua’, ‘noi qua ma hong qua’) => 5
Select CHARINDEX (‘qua’, ‘noi qua ma hong qua’, 6) => 17
• PATINDEX ( , ): trả về vị trí bắt đầu xuất hiện
mẫu lần đầu tiên trong chuỗi, nếu không tìm thấy mẫu thì trả về 0.
Ví Dụ :Select PATINDEX(‘%om%’, ‘lom khom duoi nui tieu vai chu’) => 2
Select PATINDEX(‘%__om %’, ‘lom khom duoi nui tieu vai chu’)=> 5
b. Xử lý ngày
Lưu ý: - Kiểu DATETIME của SQL Server bao gồm nhiều thành phần: ngày /
tháng / năm/ giờ / phút / giây / phần triệu của giây .
- Để tránh nhằm lẫn: nên mô tả năm bằng 4 chữ số, mô tả tháng bằng tên
tắt của tháng (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
• GETDATE(): Cho kết quả là ngày hiện hành.
• DATEPART(, ): Trả về giá trị của trong
.
Các thành phần thông dụng của ngày gồm có:
Thành phần Viết tắt Ý nghĩa
Year yy, yyyy Năm
Quarter qq, q Quí
Month mm, m Tháng
Dayofyear dy, y Ngày của năm (1-> 366)
Day dd, d Ngày của tháng (1 -> 31)
Week wk, ww Tuần trong năm (1 -> 52)
WeekDay Dw Ngày trong tuần (1 -> 7)
Hour hh Giờ (1 -> 24)
Ví Dụ: Select DATEPART (year, GETDATE()) => 2006
Select DATEPART(week, ’20 Aug, 2006’) => 34
• DATEADD (,, ): cộng vào của
một số n.
Ví Dụ: Select DATEADD (week, 5, ’20 Aug, 2006’) => 2006-09-24
Cho biết 10 ngày sau kể từ ngày 05/08/2006 là ngày thứ mấy:
Select DATEPART (weekday, DATEADD (day, 10, ‘5 Aug, 2006’))
=> 3(thứ ba)
• DATEDIFF ( , , ): trả về số khác
biệt giữa 2 thành phần của ngày bắt đầu và ngày kết thúc.
Ví Dụ: Cho biết từ ngày 05/08/2006 đến ngày 11/9/2006 có bao nhiêu ngày:
Select DATEDIFF (day, ‘5 Aug, 2006’, ’11 Sep, 2006’) => 37 ngày
Select DATEDIFF (hour, ‘5 Aug, 2006’, ’11 Sep, 2006’) => 888 giờ
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 7
• DATENAME(, ): Trả về tên của trong
.
Ví Dụ: Select DATENAME (month, ‘5 Aug, 2006’) => August
Select DATENAME (weekday, ‘5 Aug, 2006’) => Saturday
c. Các hàm xử lý số
• FLOOR(): Cho kết quả là số nguyên gần nhất nhỏ hơn hoặc bằng
Ví Dụ: SELECT FLOOR(123.45), FLOOR(-123.45), FLOOR($123.45)
=> 123 -124 123.0000
• CEILING(): Cho kết quả là số nguyên gần nhất lớn hơn hoặc bằng
Ví Dụ: SELECT CEILING(123.45), CEILING(-123.45),
CEILING($123.45)
=> 124 -123 124.0000
d. Hàm chuyển đổi kiểu
CAST ( AS ): Trả về với mới.
Ví Dụ: SELECT 10 + cast ('34.5' as float) => 44.5
SELECT right(CAST(124 AS char(4)) , 2) => 4
e. Cấu Trúc Phân Nhánh CASE:
Đánh giá danh sách các điều kiện và trả về biểu thức phù hợp.
CASE có hai dạng:
• Dạng đơn giản: So sánh hai biểu thức để xác định kết quả trả về.
CASE
WHEN THEN
[WHEN THEN ...]
[
ELSE
]
END
• Dạng tìm kiếm: Đánh giá các điều kiện để xác định kết quả trả về.
CASE
WHEN THEN
[WHEN THEN ...]
[
ELSE
]
END
Ví Dụ: Select CASE
When 10 > 2 THEN 'DUNG'
When 10 = 3 THEN 'SAI'
END
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 8
8. Các lỗi thường gặp
• Tên cột không tìm thấy trong bảng:
Thông báo lỗi: Invalid column name .
Khi gặp lỗi này hãy xem lại tên cột (còn gọi là tên thuộc tính/ tên trường) trong
câu lệnh đã đúng chưa.
• Tên bảng không tìm thấy:
Thông báo lỗi: Invalid object name .
Khi gặp lỗi này hãy xem lại tên bảng trong câu lệnh đã đúng chưa.
• Lỗi cú pháp:
Thông báo lỗi: Incorrect Syntax near .
Khi gặp lỗi này hãy xem lại cú pháp trong câu lệnh đã đúng chưa, có thể sai từ
khóa (gỏ sai các từ SELECT, FROM, WHERE, ..), hoặc thiếu dấu ngoặc của hàm
hoặc của select con, ...
• Tên cột có mặt ở nhiều bảng
Thông báo lỗi: Ambiguous column name
Khi gặp lỗi này hãy xem lại gây lỗi trong câu lệnh đã có đặt tên bảng
hoặc bí danh đứng trước chưa. Cú pháp: <tên bảng hoặc bí
danh>.MA_HANG
• Phép so sánh không tương thích kiểu
Thông báo lỗi: Error converting data type ...
hoặc Syntax error converting ...
Khi gặp lỗi này hãy xem lại trong câu lệnh đã có phép toán so sánh nào đó không
tương thích kiểu dữ liệu.
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 9
BÀI TẬP SQL
BÀI 1: QUẢN LÝ CÔNG TRÌNH
Cho lược đồ CSDL gồm các quan hệ sau:
KTRUCSU(MA_KTS, HOTEN_KTS, NAMS_KTS, PHAI, NOI_TN, DCHI_LL_KTS)
Mỗi kiến trúc sư có một mã số, họ tên, một năm sinh, phái, nơi tốt nghiệp, địa chỉ
liên lạc, mã số của các kiến trúc là phân biệt nhau.
CHUTHAU(ID_THAU, TEN_THAU, TEL, DCHI_THAU)
Mỗi chủ thầu xây dựng công trình đều có một ID chủ thầu phân biệt, tên thầu,
một số điện thoại và một địa chỉ.
CHUNHAN(ID_CHU, TEN_CHU, DCHI_CHU)
Mỗi chủ nhân của một công trình đều có một ID chủ nhân phân biệt, tên chủ nhân
và một địa chỉ.
CONGNHAN(MA_CN, NAMS_CN, NAM_VAO_N, CH_MON)
Mỗi công nhân tham gia xây dựng các công trình đều có một mã công nhân phân
biệt, họ tên, một năm sinh, một năm vào nghề, và một chuyên môn nào đó.
CGTRINH(STT_CTR, TEN_CTR, DCHI_CTR, TINH_THANH, KINH_PHI,
ID_CHU, ID_THAU, NGAY_BD)
Mỗi công trình có một số thứ tự phân biệt, một tên công trình, một địa chỉ, thuộc
về một tỉnh thành nào đó, được xây dựng với một kinh phí (đơn vị tính là triệu đồng),
thuộc về sở hữu của một chủ nhân, do một chủ thầu xây dựng, và được khởi công xây từ
một ngày nào đó.
THAMGIA(MA_CN, STT_CTR, NGAY_TGIA, SO_NGAY)
Một công nhân có thể tham gia xây dựng nhiều công trình, và một công trình
cũng có nhiều công nhân tham gia. Khi một công nhân tham gia vào một công trình nào
đó sẽ được ghi nhận lại ngày bắt đầu tham gia và số ngày tham gia.
THIETKE(MA_KTS, STT_CTR, THU_LAO)
Một kiến trúc sư có thể thiết kế nhiều công trình, mỗi công trình cũng có thể do
nhiều kiến trúc sư cùng thiết kế. Khi một kiến trúc sư thiết kế một công trình sẽ có một
thù lao tương ứng.
Cho Diagram:
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 10
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 11
Hãy viết câu lệnh SQL để trả lời các câu truy vấn sau:
1. Hãy cho biết tên và địa chỉ các công trình do chủ thầu Công ty xây dựng số 6 thi
công.
2. Tìm tên và địa chỉ liên lạc của các chủ thầu thi công công trình ở Cần Thơ do kiến
trúc sư Lê Kim Dung thiết kế.
3. Hãy cho biết nơi tốt nghiệp của các kiến trúc sư đã thiết kế công trình Khách Sạn
Quốc Tế ở Cần Thơ.
4. Cho biết họ tên, năm sinh, năm vào nghề của các công nhân có chuyên môn hàn
hoặc điện đã tham gia các công trình mà chủ thầu Lê Văn Sơn đã trúng thầu.
5. Những công nhân nào đã bắt đầu tham gia công trình Khách sạn Quốc Tế ở Cần Thơ
trong giai đoạn từ ngày 15/12/94 đến ngày 31/12/94, số ngày tương ứng là bao
nhiêu.
6. Cho biết tên và địa chỉ của công trình mà công nhân Nguyễn Hông Vân đang tham
gia vào ngày 18/12/94.
7. Cho biết họ tên và năm sinh của các kiến trúc sư đã tốt nghiệp ở thành phố Hồ Chí
Minh và đã thiết kế ít nhất một công trình có kinh phí đầu tư trên 400 triệu đồng.
8. Cho biết họ tên các kiến trúc sư vừa thiết kế các công trình do Phòng Dịch vụ Sở
Xây dựng thi công, vừa thiết kế các công trình do chủ thầu Lê Văn Sơn thi công.
9. Cho biết tên công trình có kinh phí cao nhất.
10. Cho biết họ tên các công nhân có tham gia các công trình ở Cần Thơ, nhưng không
có tham gia công trình ở Vĩnh Long.
11. Cho biết tên của các chủ thầu đã thi công các công trình có kinh phí lớn hơn tất cả
các công trình do chủ thầu Phòng Dịch vụ Sở Xây dựng thi công.
12. Cho biết họ tên các kiến trúc sư có thù lao thiết kế cho một kiến trúc sư của một
công trình nào đó dưới giá trị trung bình thù lao thiết kế của một kiến trúc sư cho
một công trình.
13. Tìm tên và địa chỉ những thầu đã trúng thầu công trình có kinh phí thấp nhất.
14. Tìm họ tên và chuyên môn của các công nhân tham gia các công trình do kiến trúc
sư ‘Le Thanh Tung’ thiết kế.
15. Tìm các cặp tên của chủ thầu có trúng thầu các công trình tại cùng một thành phố.
16. Tìm các cặp tên của các công nhân có làm việc chung với nhau trong ít nhất là hai
công trình.
17. Tìm tổng kinh phí của tất cả các công trình theo từng chủ thầu.
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 12
18. Cho biết họ tên các kiến trúc sư có tổng thù lao thiết kế các công trình lớn hơn 25
triệu.
19. Cho biết số lượng các kiến trúc sư có tổng thù lao thiết kế các công trình lớn hơn 25
triệu.
20. Tìm tổng số công nhân đã tham gia của mỗi công trình.
21. Tìm tên và địa chỉ công trình có tổng số công nhân tham gia nhiều nhất.
22. Cho biết tên các thành phố và kinh phí trung bình cho mỗi công trình của từng thành
phố tương ứng.
23. Cho biết họ tên các công nhân có tổng số ngày tham gia vào các công trình lớn hơn
tổng số ngày tham gia của công nhân Nguyen Hong Van.
24. Cho biết tổng số công trình mà mỗi chủ thầu đã thi công tại mỗi thành phố.
25. Cho biết họ tên công nhân có tham gia ở tất cả các công trình.
BÀI 2: QUẢN LÝ MUA BÁN HÀNG HÓA
Cho CSDL quan hệ sau:
HANGHOA(MA_HANG,TEN_HG)
Mỗi hàng hóa được gán một mã hàng riêng biệt và có một tên hàng.
DAILY(STT_DL, TEN_DL, DCHI_DL)
Mỗi đại lý được gán một số thứ tự phân, có một tên đại lý và một địa chỉ liên lạc.
MUA(MA_HANG, STT_DL, NGAY_MUA, SOLG_MUA, TRIGIA_MUA)
Khi một đại lý mua một mặt hàng nào đó (MA_HANG), vào một ngày nào đó
(NGAY_MUA), sẽ được ghi nhận lại số lượng mua và trị giá mua tổng cộng.
BAN(MA_HANG, STT_DL, NGAY_BAN, SOLG_BAN, TRIGIA_BAN)
Khi một đại lý bán một mặt hàng nào đó (MA_HANG), vào một ngày nào đó
(NGAY_BAN), sẽ được ghi nhận lại số lượng bán và trị giá bán tổng cộng.
Cho Diagram:
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 13
Nội dung trích từ Giáo trình thực hành môn Hệ CSDL. 14
Viết SQL cho các câu truy vấn sau:
1. Tìm tên những đại lý vừa có bán coca cola vừa có bán pepsi cola.
2. Tìm tên những mặt hàng được mua nhưng chưa được bán.
3. Tìm tên và địa chỉ những đại lý có mua cùng mặt hàng với Vạn Lợi mua.
4. Cho biết tên các mặt hàng được ít nhất là hai đại lý mua vào với số lượng trên 50.
5. Tìm tổng trị giá mua Coca Cola ở đại lý Tân Hiệp Hưng.
6. Tìm tổng trị giá bán Coca Cola ở đại lý Tân Hiệp Hưng.
7. Tìm tên những mặt hàng được bán ở đại lý Tân Hiệp Hưng vào cả hai ngày 15/12/94
và ngày 31/12/94.
8. Có bao nhiêu mặt hàng được mua vào nhưng chưa được bán ra ở đại lý Tân Hiệp
Hưng trong tháng 12 năm 1994.
9. Tìm tên các mặt hàng có mua và bán trong cùng một ngày ở cùng một đại lý.
10. Tìm tên và địa chỉ của các đại lý và những mặt hàng có số lượng mua và bán bằng
nhau trong cùng một ngày.
11. Tìm tên đại lý đã mua coca cola với số lượng nhiều hơn tất cả các đại lý khác.
12. Tìm đơn giá mua trung bình của bia Sài gòn tính trên tất cả các đại lý.
13. Tìm đơn giá mua trung bình của bia Sài gòn tính trên trên từng đại lý
14. Hiển thị số lượng tồn kho của từng mặt hàng theo từng đại lý.
15. Tìm tên, địa chỉ của đại lý có tổng giá trị mua trong một ngày lớn hơn 700000.
16. Với mỗi đại lý, hãy cho biết ngày nào có số lượng mặt hàng bán ra là ít nhất.
17. Tìm tên và địa chỉ của những đại lý có tổng trị giá bán cao nhất.
18. Tìm tổng só tiền mà mỗi đại lý đã chi để mua hàng theo từng tháng.
19. Tìm tên và tổng số lượng bán ra của các mặt hàng đã bán được với số lượng nhiều
nhất của từng đại lý.
20. Cho biết tổng số món hàng mà mỗi đại lý kinh doanh (mua và bán).
21. Tìm tên đại lý đã mua vào mặt hàng bia Heineken với đơn giá mua là cao nhất.
Các file đính kèm theo tài liệu này:
- baitap_sql_7665.pdf