Lệnh SELECT trong SQL Server – Freetuts

Trong bài viết này bạn sẽ được học cách sử dụng lệnh select trong SQL Server để triển khai 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 .

test php

banquyen png

Bài viết này được đăng tại

freetuts.net

, không được copy dưới mọi hình thức.

1. Lệnh select trong SQL Server

Như bạn đã biết, tài 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 yếu chính của việc quản trị tài 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ẽ cung ứng cho nhu yế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.

sql server select customers table png

Bài viết này được đăng tại [ không lấy phí tuts. net ]
Trước tiên bạn hãy xem cú pháp của lệnh select đã nhé .

Cú pháp

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 production.
  • table_name là tên của bảng muốn tìm kiếm.

Về thứ tự triển khai thì mạng lưới hệ thống sẽ chạy từ FROM trở xuống rồi mới chạy đến SELECT, mặc dầu 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:

customers png

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 :

SELECT
    first_name,
    last_name
FROM
    sales.customers;

Kết quả sẽ như sau :

sql server select some columns png

Bảng hiệu quả này ta gọi là tập hợp tác dụng đượ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à :

SELECT
    first_name,
    last_name,
    email
FROM
    sales.customers;

Kết quả :

sql server select select three columns png

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.

SELECT
    *
FROM
    sales.customers;

Kết quả như sau :

sql server select select all columns png

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 tài liệu theo một điều kiện kèm theo nào đó, ví dụ chọn những người mua đang sống tại Califorina ( CA ) thì ta sẽ viết câu truy vấn như sau :

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ề.

sql server select where clause png

Điều này có nghĩa là khi bạn bổ trợ lệnh WHERE thì chỉ có những dòng tài liệu nào phân phối được lệnh điều kiện kèm theo ở 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 tài liệu trong thực tiễn, phần đông không hề thiếu .
Bạn hoàn toàn có thể thêm nhiều điều kiện kèm theo ở WHERE bằng cách sử dụng những toán tử như AND, OR. Ví dụ mình muốn lấy list người mua sống tại CA và city là Encino thì câu SQL lúc này sẽ như sau :

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 hiệu 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.

SELECT
    *
FROM
    sales.customers
WHERE
    state = 'CA'
ORDER BY
    first_name ASC;

Kết quả:

sql server select order by clause png

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 và kỹ năng cơ 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 tài liệu .