<< Chapter < Page | Chapter >> Page > |
VALUES (‘A-9732’, 1200, ‘Perryridge’);
“Cấp cho tất cả các khách hàng vay ở chi nhánh Perryridge một tài khoản với số cân đối là 200$ như một quà tặng sử dụng số vay như số tài khoản“
INSERT INTO Account
SELECT Branch_name, Loan_number, 200
FROM Loan
WHERE Branch_name = ‘Perryridge’
INSERT INTO Depositor
SELECT Customer_name, Loan_number
FROM Borrower, Loan
WHERE Borrower.Loan_number = Loan.Loan_number AND
Branch_name = ‘Perryridge’
Câu lệnh UPDATE cho phép thay đổi giá trị thuộc tính của các bộ
“Thêm lãi hàng năm vào số cân đối với tỷ lệ lãi suất 5%”
UPDATE Account
SET Balance = Balance*1.05
Giả sử các tài khoản có số cân đối>10000$ được hưởng lãi suất 6%, các tài khoản có số cân đối nhỏ hơn hoặc bằng 10000 được hưởng lãi suất 5%
UPDATE Account
SET Balance = Balance*1.06
WHERE Balance>10000
UPDATE Account
SET Balance = Balance*1.05
WHERE Balance<= 10000
SQL92 đưa vào cấu trúc CASE như sau:
CASE
WHEN P1 THEN Result1
WHEN P2 THEN Result2
...
WHEN Pn THEN Resultn
ELSEResult0
END
trong đó Pi là các vị từ, Resulti là các kết quả trả về của hoạt động CASE tương ứng với vị từ Pi đầu tiên thỏa mãn. Nếu không vị từ Pi nào thỏa mãn CASE trả về Result0.
Với cấu trúc CASE như vậy ta có thể viết lại yêu cầu trên như sau:
UPDATE Account
SET Balance = CASE
WHEN Balance>10000 THEN Balance*1.06
ELSE Balance*1.05
END
“Trả 5% lãi cho các tài khoản có số cân đối lớn hơn số cân đối trung bình”
UPDATE Account
SET Balance = Balance*1.05
WHERE Balance>SELECT AVG(Balance)
FROM Account
SQL92 cung cấp nhiều cơ chế cho nối các quan hệ bao hàm nối có điều kiện và nối tự nhiên cũng như các dạng của nối ngoài.
Loan INNER JOIN Borrower
ON Loan.Loan_number = Borrower.Loan_number
Nối quan hệ Loan và quan hệ Borrower với điều kiên:
Loan.Loan_number = Borrower.Loan_number
Quan hệ kết quả có các thuộc tính của quan hệ Loan và các thuộc tính của quan hệ Borrower (như vậy thuộc tính Loan_number xuất hiện 2 lần trong quan hệ kết quả).
Để đổi tên quan hệ (kết quả) và các thuộc tính, ta sử dụng mệnh đề AS
Loan INNER JOIN Borrower
ON Loan.Loan_number = Borrower.Loan_number
AS LB(Branch, Loan_number, Amount, Cust, Cust_Loan_number)
Loan LEFT OUTER JOIN Borrower
ON Loan.Loan_number = Borrower.Loan_number
Phép nối ngoài trái được tính như sau: Đầu tiên tính kết quả của nối trong INNER JOIN. Sau đó đối với mỗi bộ t của quan hệ trái (Loan) không tương xứng với bộ nào trong quan hệ bên phải (borrower) khi đó thêm vào kết quả bộ r gồm các giá trị thuộc tính trái là các giá trị thuộc tính của t, các thuộc tính còn lại (phải) được đặt là null.
Loan NATURAL INNER JOIN Borrower
Là nối tự nhiên của quan hệ Loan và quan hệ Borrower (thuộc tính trùng tên là Loan_number).
DDL SQL cho phép đặc tả:
SQL-92 hỗ trợ nhiều kiểu miền trong đó bao hàm các kiểu sau:
Notification Switch
Would you like to follow the 'Hệ quản trị cơ sở dữ liệu' conversation and receive update notifications?