Bài tập đại số quan hệ và truy vấn SQL có lời giải

Bài tập 1: Đại số quan hệ và try vấn SQL

Cho cơ sở dữ liệu BANHANG được mô tả như sau:

HANGHOA[MAHH, TENHH, MALOAI]


LOAIHANG[MALOAI, TENLOAI]
HOADON[MAHĐ, MAHH, SOLUONG, ĐONGIA]a] Viết biểu thức đại số quan hệ cho biết MAHH, TENHH có tên loại là “Thực phẩm”.b] Viết biểu thức đại số quan hệ cho biết MAHĐ, MAHH, SOLUONG, ĐONGIA có số lượng lớn hơn 1000 và tên loại hàng hoá là “Đồ gia dụng”.

c] Viết lệnh SQL tương ứng cho câu a và câu b.



Tổng số bài gửi : 1271Points : 3202Join date : 11/11/2009Age : 40Đến từ : Cần Thơ

câu c/ a] select MAHH,TENHH from HANGHOA,LOAIHANG

where TENLOAI='THỰC PHẨM'



Tổng số bài gửi : 7Points : 11Join date : 27/03/2010

oc sen đã viết:

câu c/ a] select MAHH,TENHH from HANGHOA,LOAIHANG

where TENLOAI='THỰC PHẨM'

Thiếu điều kiện ràng buộc dữ liệu giữa hai bảng.

Code:

 Select MAHH, TENHH from HANGHOA a, LOAIHANG b where [a.MALOAI = b.MALOAI] and [TENLOAI='THỰC PHẨM']



Tổng số bài gửi : 1271Points : 3202Join date : 11/11/2009Age : 40Đến từ : Cần Thơ

Câu a/ HANGHOA[MAHH,TENHH[HANGHOA*LOAIHANG[thực phẩm]]] /*Kí hiệu này em chưa quen lắm bài làm của em là:nối bằng HANGHOAva LOẠI HANG->chọn ra với điều kiện ten loai là thực phẩm->chiếu lên 2 thuộc tính MAHH và TENHH cua quan hệ HANGHOA*/câu c/ b]

Code:

  SELECT  MAHĐ,MAHH,SÔLUONG,DONGIA              FROM  HOADON              WHERE SÔLUONG>1000 AND                              [SELECT MAHH                                FROM HANGHOA as a,LOAIHANG as b

                                WHERE [a.MALOAI=b.MALOAI] AND [TENLOAI="đồ gia  dụng"]]



Tổng số bài gửi : 7Points : 11Join date : 27/03/2010

oc sen đã viết:

Câu a/ HANGHOA[MAHH,TENHH[HANGHOA*LOAIHANG[thực phẩm]]] /*Kí hiệu này em chưa quen lắm bài làm của em là:nối bằng HANGHOAva LOẠI HANG->chọn ra với điều kiện ten loai là thực phẩm->chiếu lên 2 thuộc tính MAHH và TENHH cua quan hệ HANGHOA*/câu c/ b] SELECT MAHĐ,MAHH,SÔLUONG,DONGIA FROM HOADON WHERE SÔLUONG>1000 AND [SELECT MAHH FROM HANGHOA as a,LOAIHANG as b

WHERE [a.MALOAI=b.MALOAI] AND [TENLOAI="đồ gia dụng"]]

Bài này bạn giải chưa chính xác! Hãy cố gắng lên!



Tổng số bài gửi : 1271Points : 3202Join date : 11/11/2009Age : 40Đến từ : Cần Thơ

rắc rối quá! em nghĩ là sai rồi! thầy ơi sửa dùm em!ý 1: //sg.cdnki.com/bai-tap-dai-so-quan-he-va-truy-van-sql-co-loi-giai---aHR0cHM6Ly8yaW1nLm5ldC9oL2k4MzQucGhvdG9idWNrZXQuY29tL2FsYnVtcy96ejI3MC96enRhbnp6dGhhbmh6ei8xLTEzLmpwZw==.webp

ý 2: //sg.cdnki.com/bai-tap-dai-so-quan-he-va-truy-van-sql-co-loi-giai---aHR0cHM6Ly8yaW1nLm5ldC9oL2k4MzQucGhvdG9idWNrZXQuY29tL2FsYnVtcy96ejI3MC96enRhbnp6dGhhbmh6ei8yLTkuanBn.webp



Tổng số bài gửi : 60Points : 100Join date : 13/11/2009Age : 31Đến từ : Bến Tre

keyboard_arrow_down

em vừa test thử, câu lệnh của ý 2 đúng rùi!viết lại cho gọn là:

Code:

SELECT C.MAHD, C.MAHH, C.SOLUONG, C.DONGIA FROM HoaDon as C, [SELECT MAHH, TENHH FROM HangHoa as A, LoaiHang as B WHERE [A.MALOAI=B.MALOAI] AND [B.TENLOAI='Do gia dung']] as DWHERE [SOLUONG>'1000'] AND [C.MAHH=D.MAHH];

Nhưng mà dài dòng quá! Có cách nào gọn hơn không thầy?



Tổng số bài gửi : 60Points : 100Join date : 13/11/2009Age : 31Đến từ : Bến Tre

keyboard_arrow_down

Truy vấn 1 lớp là được rùi, k cần phải truy vấn 2 lớp như vậy.



Tổng số bài gửi : 1271Points : 3202Join date : 11/11/2009Age : 40Đến từ : Cần Thơ

thầy cho em xin câu query của thầy em tham khảo nha!



Tổng số bài gửi : 60Points : 100Join date : 13/11/2009Age : 31Đến từ : Bến Tre

keyboard_arrow_down


Bạn không có quyền trả lời bài viết

Video liên quan

Chủ Đề