Tính toán và định danh
Literal Values ( chuỗi kí tự??)
Ta có đoạn truy vấn sau:SELECT
'First Name:',
FirstName
FROM Sales
khi ta thực hiện truy vấn như trên, thì cột đầu tiên sẽ in ra chữ ‘First Name’ trong mỗi hàng kết quả sẽ như sau:
cột này sẽ không có giá trị để tính toán khi ta để giá tri trong nháy đơn và không có header
Một ví dụ khác
SELECT
5,
FirstName
FROM Sales
ta sẽ được kết quả là:
Khi đó 5 là một giá trị có thể tính toán được thí dụ tiếp
SELECT 1+1, name FROM world LIMIT 5
ta sẽ ra được cái này
Tính toán số học
Một số ví dụ về tính toán trong sql. Sql cho phép ta tính toán trên một hoặc nhiều cột trong bảng. Ví dụSELECT
SalesID,
QuantityPurchased,
PricePerItem,
QuantityPurchased * PricePerItem
FROM Sales
Câu truy vấn trên sẽ trả về kết quả sau:
Cột thứ 4 có gì đặc biệt?? Nó không có header và nó có giá trị bằng 2 cột
QuantityPurchased * PricePerItem
này nhân với nhau. Dấu *
thể hiện phép nhân. Vậy chứng tỏ là ta có thể thực hiện được những dấu khác nữa :D Arithmetic Operator | Meaning |
---|---|
+ | addition |
- | subtraction |
* | multiplication |
/ | division |
Nối các trường
Trong sql, ta có thể nối các trường với nhau và hiển thị ra trong khi truy vấn, cú pháp truy vấn cũng tùy loại cơ sở dữ liệu. Ví dụ trong SQL ServerSELECT
SalesID,
FirstName,
LastName,
FirstName + ' ' + LastName
FROM Sales
Sql sẽ hiểu dấu
+
không phải là phép tính mà là một phương thức để nối chuỗi,sau khi truy vấn ta được bảng sauBí danh cho cột (Collumn Aliases)
Những ví dụ ở trên hầu như, khi ta truy vấn sẽ có những trường không có tiêu đề cột, nhưng vẫn có một cách đó là sử dụngalias
như là một tên để thay thế. Hãy cùng xem đoạn truy vấnSELECT
SalesID,
FirstName,
LastName,
FirstName + ' ' + LastName AS 'Name'
FROM Sales
Từ khóa
AS
được dùng để biểu thị như là một tên cột, Collumn Aliases
được đặt trong dấu nháy đơn.Note: Ta hoàn toàn có thể không cần từ khóa
AS
để đặt Alias cho cột (giờ đọc sách mới biết) . Việc đặt từ khóa trong 1 số trường hợp chỉ để cho rõ ràngSELECT
SalesID,
FirstName,
LastName,
FirstName + ' ' + LastName Name
FROM Sales
Kết quả giống y hệt câu truy vấn trước đó