DANH MỤC TÀI LIỆU
Tổng hợp các câu lệnh SQL quan trọng Programmer
13 câu lệnh SQL quan trọng Programmer nào cũng cần biết
Cơ sở dữ liệu là một phần không thể thiếu của những trang web hiện đại. Trang
web lớn hoặc web động đều sử dụng database theo một cách nào đó và khi được
kết hợp với Structured Query Language (SQL) thì khả năng thao tác dữ liệu thực
sự là vô tận. Nếu đã biết SQL mà lại còn là lập trình viên thì bạn hãy chắc chắn
rằng mình đã nắm chắc 13 câu lệnh SQL quan trọng mà chúng tôi đề cập đến trong
bài viết này nhé.
Có rất nhiều tên dữ liệu được trả về từ bảng dữ liệu. Dữ liệu thường được gọi là
Rows (hàng), Records (bản ghi) hoặc Tuples. Những thuật ngữ vừa liệt kê sẽ được
sử dụng thay thế cho nhau trong suốt bài viết này.
Lời nói đầu
Tất cả các ví dụ ngày hôm nay sẽ được dựa trên bốn bảng giả định.
Bảng customers có tên và tuổi của khách hàng:
Bảng heights có chứa tên và chiều cao của bất kỳ người nào:
Bảng staff có tên và tuổi của nhân viên - chính xác như customers:
Bảng cuối cùng được gọi là people có tên và tuổi của người, giống như
bảng customers staff:
1. SELECT
Câu lệnh SELECT là đơn giản nhất, và bạn cần phải hiểu nó vì nó làm cơ sở cho
khá nhiều lệnh khác. Hãy cân nhắc việc luyện tập viết các lệnh SQL bằng chữ hoa,
vì nó làm cho câu lệnh dễ đọc và dễ hiểu hơn.
Như tên của nó ngụ ý, SELECT được sử dụng để chọn dữ liệu từ cơ sở dữ liệu.
Đây là cách sử dụng đơn giản nhất:
SELECT * FROM table;
Câu lệnh trên có hai phần:
SELECT *: xác định cột bạn muốn chọn, dấu * ở đây hiểu là bạn muốn chọn
tất cả các cột trong bảng.
FROM table: phần này nói với công cụ cơ sở dữ liệu nơi bạn muốn trích xuất
dữ liệu, thay thế "table" bằng tên của bảng cơ sở dữ liệu cần lấy.
Câu lệnh SELECT này được gọi là "select star", sử dụng dấu * là một phương pháp
khá hay giúp tìm, tính toán dữ liệu trong bảng, nhưng không phải lúc nào cũng
dùng câu lệnh này. Khi sử dụng select star, việc trình bày dữ liệu trả về như thế
nào hoàn toàn phụ thuộc vào engine của database, bạn không thể kiểm soát thứ tự
dữ liệu được trả về, vì vậy, nếu có ai đó thêm cột mới vào bảng, bạn thấy các biến
trong ngôn ngữ lập trình của mình không hiển thị dữ liệu đúng. May mắn là có một
giải pháp khác cho vấn đề này.
Bạn có thể nói rõ các cột muốn truy xuất, như sau:
SELECT age, name FROM people;
Truy vấn này sẽ trích xuất cột name age từ bảng people. Việc này có vẻ hơi
nhàm chán nếu bạn có quá nhiều dữ liệu, nhưng làm vậy sẽ giúp giảm nhiều vấn đề
có thể xảy ra trong tương lai, cũng như làm cho SQL dễ hiểu hơn với các lập trình
viên mới sau này.
Nếu bạn muốn chọn thêm dữ liệu bổ sung, nhưng nó không được lưu trữ trong bất
kỳ bảng nào, thì có thể làm như sau:
SELECT age, '1234' FROM people;
Bất kỳ chuỗi nào bên trong dấu nháy đơn sẽ được trả về thay vì tên cột phù hợp.
2. WHERE
Câu lệnh SELECT là lựa chọn tuyệt vời để lấy dữ liệu, nhưng nếu bạn muốn lọc
kết quả kỹ hơn chút nữa, ví như, chỉ muốn trích xuất ra những người có màu mắt
xanh, người sinh tháng 1 và làm thợ cơ khí thì phải làm sao? Đây chính là lúc sử
dụng câu lệnh WHERE. WHERE cho phép áp dụng thêm các điều kiện vào
SELECT, bạn chỉ cần nối nó vào cuối cùng của câu lệnh là được:
SELECT age, name FROM people WHERE age > 10;
Truy vấn này được giới hạn cho những người có tuổi lớn hơn 10. Bạn có thể kết
hợp nhiều điều kiện bằng cách sử dụng toán tử AND:
SELECT age, name FROM people WHERE age > 10 AND age < 20;
Lệnh AND làm việc chính xác như nghĩa của nó trong tiếng Anh: Nó áp dụng
những điều kiện khác nhau cho câu lệnh. Trong ví dụ trên, dữ liệu được trả về sẽ là
bất kỳ bản ghi nào có tuổi nằm giữa 10 và 20. Do không có kết quả nào phù hợp
nên không có dữ liệu nào được trả lại.
Một lệnh khác có thể được sử dụng để kết hợp điều kiện là OR. Đây là ví dụ:
SELECT age, name FROM people WHERE age > 10 OR name = 'Joe';
Truy vấn này yêu cầu trả về những bản ghi có tuổi lớn hơn 10 hoặc tên là Joe. Chú
ý, ở đây chỉ có một dấu "=", nhưng nhiều ngôn ngữ lập trình sử dụng 2 dấu bằng
(==) để kiểm tra sự tương đương, điều này không cần thiết cho phần lớn các engine
của database, xong bạn vẫn nên kiểm tra kỹ trên môi trường làm việc của cơ sở dữ
liệu.
3. ORDER
Lệnh ORDER được sử dụng để sắp xếp kết quả trả về, sử dụng ORDER khá đơn
giản, chỉ cần thêm ORDER vào cuối câu lệnh như ví dụ dưới đây:
SELECT name, age FROM people ORDER BY age DESC;
Nếu cần chọn cột và thứ tự cụ thể, bạn có thể làm như sau (ASC là tăng dần, DESC
là giảm dần):
SELECT name, age FROM people ORDER BY name ASC, age DESC;
ORDER BY có lẽ là hữu ích nhất khi kết hợp với các lệnh khác. Không phải tất cả
các truy vấn sẽ trả về dữ liệu một cách hợp lý hoặc có trật tự - lệnh này cho phép
bạn thay đổi điều đó.
4. JOIN
Lệnh JOIN được sử dụng để kết hợp các dữ liệu liên quan được lưu trữ trong một
hoặc nhiều bảng. Bạn có thể nối bảng thứ hai vào bảng đầu tiên, và chỉ định cách
dữ liệu được kết nối. Dưới đây là ví dụ cơ bản:
SELECT age, name, height FROM people LEFT JOIN heights USING (name);
Có một vài chú ý ở đây. Bạn phải bắt đầu với cú pháp "LEFT JOIN", hiểu rằng bạn
muốn nối một bảng bằng cách sử dụng một kiểu nối LEFT. Tiếp theo, xác định
bảng mà bạn muốn nối (heights). Cú pháp USING (name) cho biết cột "name" có
thể được tìm thấy trong cả hai bảng và cột này sẽ được sử dụng như một chìa khóa
để kết hợp các bảng với nhau.
Đừng lo lắng nếu các cột của bạn có tên khác nhau trong mỗi bảng. Bạn có thể sử
dụng "ON" thay vì "USING":
SELECT age, name, height FROM people LEFT JOIN heights ON (namea =
nameb);
Lệnh ON sẽ xác định rõ cột nào là chìa khóa để nối. Có rất nhiều kiểu nối mà bạn
sẽ cần chút thời gian để tìm hiểu chi tiết, đây là một bản tóm tắt nhanh:
(INNER) JOIN: Trả về các hàng có trong cả hai bảng.
LEFT (OUTTER) JOIN: Trả về tất cả các hàng từ bảng bên trái cùng với
những bản ghi phù hợp ở bảng bên phải. Nếu không có bản ghi nào phù hợp thì
những bản ghi ở bảng bên trái vẫn được trả về.
RIGHT (OUTER) JOIN: Trái ngược với kiểu nối bên trên, tất cả các hàng
của bảng bên phải sẽ được trả về cùng với những hàng phù hợp của bảng bên
trái.
FULL (OUTER) JOIN: Trả về tất cả những bản ghi phù hợp ở trong hai
bảng.
Cú pháp INNER hay OUTER là tùy chọn, nó làm cho mọi thứ dễ hiểu hơn nhưng
không nhất thiết lúc nào bạn cũng bắt buộc phải dùng đến chúng.
5. ALIAS
Bây giờ bạn đã biết những câu lệnh cơ bản rồi, thử tiếp với lệnh ALIAS xem sao
nhé.
thông tin tài liệu
Nếu đã biết SQL mà lại còn là lập trình viên thì bạn hãy chắc chắnrằng mình đã nắm chắc 13 câu lệnh SQL quan trọng mà chúng tôi đề cập đến trong bài viết này
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×