SELECT là câu lệnh cơ bản nhất trong SQL. Câu lệnh này dùng để truy vấn, lấy dữ liệu từ các bảng trong database. Với câu lệnh SELECT ta có thể thực hiện:

  • Phép chiếu: chỉ định những column trong table muốn lấy dữ liệu
  • Phép chọn: chỉ định những row trong table muốn trả về, có thể áp dụng nhiều điều kiện để lọc dữ liệu và trả về kết quả mong muốn
  • Phép nối bảng: cho phép trả về dữ liệu từ nhiều table thông qua việc liên kết các table với nhau

 

 

Câu lệnh SELECT cơ bản

SELECT: chỉ định những column muốn lấy dữ liệu theo thứ tự liệt kê từ trái sang phải, cách nhau bằng dấu phẩy

* : lấy tất cả các column

DISTINCT: lấy dữ liệu không trùng lặp theo hàng. Chỉ dùng  1 DISTINCT duy nhất ở đầu câu SELECT

column: tên column trong table

expression: 1 biểu thức tính toán hay chuỗi

alias: tên hiển thị của column khi trả về kết quả

FROM: table chứa những column nằm trong mệnh đề SELECT

Ví dụ:

Note

Cách viết câu lệnh SQL:

– Câu lệnh SQL không phân biệt hoa thường

– Có thể viết trên 1 dòng hay nhiều dòng

– Từ khóa không thể viết tắt hay tách ra nhiều dòng

– Thường sẽ viết 1 các phần SELECT, FROM, WHERE… của câu SQL ra từng dòng để dễ đọc

– Nên viết hoa từ khóa, viết thường tên table, column…

– Cuối câu lệnh nên có dấu chấm phẩy ; (một số chương trình như SQL*Plus bắt buộc phải có)

– Tùy chương trình mà phím chạy câu lệnh có thể là F5, F9, Enter…

 

Sử dụng toán tử trong câu SELECT

Câu lệnh SELECT hỗ trợ 4 toán tử cộng (+), trừ (-), nhân (*) và chia (/), để tạo ra biểu thức tính toán. Trong biểu thức tính toán có thể có tên column, hằng số, toán tử. Chú ý với dạng ngày tháng (DATE, TIMESTAMP) chỉ có thể dùng phép cộng và trừ. Phép tính được thực hiện theo nguyên tắc thông thường: từ trái qua phải, ưu tiên trong ngoặc, nhân chia trước cộng trừ sau,… ví dụ:

 

NULL value

Nếu tại 1 field (vị trí 1 cột giao với 1 hàng) mà không có giá trị, thì ta nói field đó NULL, hoặc có thể nói chứa giá trị NULL. NULL khác với số 0 hay khoảng trắng, vì số 0 hay khoảng trắng vẫn là ký tự. NULL là không có gì, không tồn tại gì. Trong SQL*Plus có thể thấy giá trị NULL là rỗng, còn trong SQL Developer có thể thấy giá trị NULL là (null). Ví dụ:

Note

– Nếu column bị ràng buộc PRIMARY KEY hay NOT NULL thì không thể chứa giá trị NULL.

– 1 biểu thức toán học có field có giá trị NULL thì trả về kết quả NULL.

 

 

Column alias

Để hiển thị tên column dễ hiểu hơn, có thể dùng alias. Alias đi ngay sau tên column, có thể thêm từ khóa AS giữa column name và alias. Nếu muốn phân biệt hoa thường, có khoảng trắng hay ký tự đặc biệt trong alias thì phải sử dụng dấu nháy kép.

Ví dụ:

 

Chuỗi, toán tử nối chuỗi trong câu SELECT

Để nối nội dung các column, các biểu thức, hằng số, có thể dùng toán tử ||  (2 dấu gạch đứng)

Trong câu SELECT có thể có nội dung chuỗi ký tự, ngày tháng hay số. Chuỗi ký tự, ngày tháng phải đặt trong dấu nháy đơn. Chuỗi số không cần đặt trong dấu nháy đơn.

Ví dụ:

 

Trường hợp trong chuỗi ký tự có dấu nháy đơn, có thể sử dụng toán tử quote (q) để đặt dấu bao riêng thay vì dấu nháy đơn. Có thể sử dụng bất kỳ ký tự nào, hoặc sử dụng các cặp dấu như [] {} <> (). Ví dụ ở đây sử dụng ngoặc vuông thì cặp dấu bao sẽ là q'[]’

 

 

 

Từ khóa DISTINCT

Dữ liệu thường có sự trùng lặp. Để loại bỏ những dữ liệu trùng lặp, có thể sử dụng từ khóa DISTINCT hoặc UNIQUE. Từ khóa này có tác dụng trên tất cả các column liệt kê để đảm bảo kết quả trả về không trùng lặp ở mỗi row. Ví dụ:

 

 

Như vậy ở bài này chúng ta đã nắm được cách sử dụng câu lệnh SELECT để lấy dữ liệu một cách cơ bản. Ở những bài tiếp theo chúng ta sẽ đi sâu hơn vào câu lệnh này.