Trong bài viết này bạn sẽ được học cách sử dụng lệnh select trong SQL Server để thực hiện truy vấn trong một table, trường hợp truy vấn ở nhiều table thì sẽ được học ở bài khác.
Mục lục
- 1. Lệnh select trong SQL Server
- 2. Thực hành ví dụ với lệnh select trong SQL Server
- 3. Thêm điều kiện lọc với WHERE
- 4. Sắp xếp kế quả trả về với ORDER BY
1. Lệnh select trong SQL Server
Như bạn đã biết, dữ liệu sẽ được lưu trong table và mỗi table sẽ có nhiều cột thông tin khác nhau. Với nhu cầu chính của việc quản lý dữ liệu gồm 4 thao tác đó là: tìm kiếm, thêm, xóa và sửa thì lệnh select sẽ đáp ứng cho nhu cầu tìm kiếm.
Để tìm kiếm thì ta cần phải biết các thông tin như: tìm ở bảng nào, dữ liệu so sánh như thế nào, chọn ra các cột nào, ... Hãy xem CSDL mẫu dưới đây của bảng products
.
Trước tiên bạn hãy xem cú pháp của lệnh select đã nhé.
1 2 3 4 | SELECT select_list FROM schema_name.table_name; |
Trong đó:
select_list
là tập hợp các column sẽ được chọn để hiển thị kết quả, các column được tách nhau bởi dấu phẩy.schema_name
là tên của lược đồ CSDL, như ở database mẫu thì ta có hai schema đó là: sales và production.table_name
là tên của bảng muốn tìm kiếm.
Về thứ tự thực hiện thì hệ thống sẽ chạy từ FROM trở xuống rồi mới chạy đến SELECT, mặc dù lệnh select được viết ở đầu câu.
2. Thực hành ví dụ với lệnh select trong SQL Server
Bây giờ ta sẽ truy vấn với bảng customers
trong database mẫu nhé. Bảng này có các column như sau:
Ví dụ 1: Hãy lấy danh sách tất cả khách hàng và chỉ hiển thị firstname và lastname.
Áp dụng cú pháp thì ta sẽ viết câu truy vấn như sau:
1 2 3 4 5 | SELECT first_name, last_name FROM sales.customers; |
Kết quả sẽ như sau:
Bảng kết quả này ta gọi là tập hợp kết quả được trả về từ lệnh select. Giả sử bạn muốn lấy thêm cột email nữa thì câu SQL lúc này sẽ là:
1 2 3 4 5 6 | SELECT first_name, last_name, email FROM sales.customers; |
Kết quả:
Ví dụ 2: Lấy danh sách khách hàng và hiển thị tất cả các thông tin có trong bảng.
Áp dụng ví dụ 1 thì ta sẽ lần lượt liệt kê từng column và cách nhau bởi dấu phẩy. Tuy nhiên có một cách khác đó là sử dụng dấu *
để thay thế cho trường hợp chọn tất cả các column.
1 2 3 4 | SELECT * FROM sales.customers; |
Kết quả như sau:
Dấu * rất tiện lợi trong trường hợp có quá nhiều column và bạn không thể nhớ hết tên column, hoặc viết ra thì quá dài dòng. Tuy nhiên khi làm thực tế bạn không nên lạm dụng dấu *
quá bởi như vậy hệ thống sẽ chạy rất nặng vì dữ liệu sẽ bị dư thừa. Ví dụ bạn xây dựng chức năng hiển thị da tên khách hàng thì chỉ cần viết select first_name
, last_name
là được rồi. Bạn cứ nghĩ nếu dữ liệu của bạn có 10GB thì khi chọn 1 phần nhỏ thôi sẽ nhẹ nhàng hơn là chọn cả 10GB.
3. Thêm điều kiện lọc với WHERE
Giả sử bạn cần lọc dữ liệu theo một điều kiện nào đó, ví dụ chọn những khách hàng đang sống tại Califorina (CA) thì ta sẽ viết câu truy vấn như sau:
1 2 3 4 5 6 | SELECT * FROM sales.customers WHERE state = 'CA' ; |
Chỉ có những dòng record nào có state = "CA"
thì mới được chọn vào kết quả trả về.
Điều này có nghĩa là khi bạn bổ sung lệnh WHERE thì chỉ có những dòng dữ liệu nào đáp ứng được lệnh điều kiện ở WHERE thì mới được chọn, đây là cách làm rất hay và rất quan trọng để bạn lọc dữ liệu trong thực tế, hầu như không thể thiếu.
Bạn có thể thêm nhiều điều kiện ở WHERE bằng cách sử dụng các toán tử như AND, OR. Ví dụ mình muốn lấy danh sách khách hàng sống tại CA và city là Encino thì câu SQL lúc này sẽ như sau:
1 2 3 4 5 6 7 8 | SELECT * FROM sales.customers WHERE state = 'CA' AND CITY = 'Encino' |
4. Sắp xếp kế quả trả về với ORDER BY
Đôi khi bạn muốn sắp xết kết quả trả về theo một quy luật tăng dần hoặc giảm dần thì hãy sử dụng lệnh ORDER BY.
Chúng ta có hai cách sắp xếp:
- DESC là sắp xếp giảm dần theo bảng mã ASCII
- ASC là sắp xếp tăng dần theo bảng mã ASCII
Ví dụ: Hãy lấy danh sách khách hàng đang sống ở CA và sắp xếp tên khách hàng theo bảng chữ cái.
1 2 3 4 5 6 7 8 | SELECT * FROM sales.customers WHERE state = 'CA' ORDER BY first_name ASC ; |
Kết quả:
Mặc định nếu bạn không chỉ định ASC hay DESC thì SQL Server sẽ lấy ASC.
Trên là những kiến thức căn bản về lệnh select trong SQL Server, đây là lệnh rất quan trọng và được sư dụng rất nhiều trong việc truy xuất và tìm kiếm dữ liệu.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty