5 phút cùng SQL — Bài 1: Tổng quan

DuyNHM
DuyNHM
Nov 2 · 6 min read

Mục tiêu:

  • SQL là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. — [nguồn: wikipedia], nội dung trong các bài này chỉ tập trung vào 1 chữ LẤY.
  • Hiểu được Lược đồ CSDL
  • Biết được cách ghi chú trong SQL (comment your SQL code)
  • Hiểu được cú pháp SQL (SQL syntax)
  • Biết được cách truy vấn dữ liệu từ 1 BẢNG
  • Biết được cách sắp xếp (SORT) kết quả truy vấn

Tham khảo:

Nội dung

1. Khái niệm cơ bản

Định nghĩa

SQL là gì?
SQL ( /ˈɛs kjuː ˈɛl/,[4] hoặc /ˈsiːkwəl/;[5] Structured Query Language[6][7][8][9]) hay ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. — [nguồn: wikipedia]

Ghi chú trong SQL:

--đây là ghi chú một dòng
/*Đây là ghi
chú nhiều dòng*/

Ký hiệu kết thúc câu lệnh:

Sử dụng dấu “;” để kết thúc 1 câu lệnh;
Ví dụ:

SELECT * FROM Employees;SELECT *
FROM Employees;

Case Sensitivity

SQL không phân biệt hoa thường trong các từ khóa, tên bảng, tên thuộc tính,…

2. Lược đồ CSDL

SQL bao gồm tạo, sửa và lấy dữ liệu, trong khuôn khổ các bài viết này chỉ tập trung vào chữ Lấy. Như vậy, chúng ta muốn lấy được thì phải hiểu được cấu trúc của dữ liệu là gì.

Nguồn: dbdiagram.io

3. Truy vấn

Tưởng tượng bạn có 1 bảng tính excel như thế này:

  1. Lấy từ đâu? → Bảng bảng tính hiện tại (tên sheet)
  2. Điều kiện là gì? → Thuộc khối BD.

Cú pháp SQL

SELECT column, column /*Lấy thuộc tính nào?*/
FROM table /*Lấy từ đâu?*/
WHERE conditions; /*Điều kiện là gì?*/

Viết SQL (code giả lập)

select MSNV, Họ tên, Loại hình, Chức danh
from sheet1/*Tên sheet là sheet1*/
where Khối = 'LOG/d-TRAN/BD'

4. Cú pháp SELECTing Specific Columns (Lấy cái gì, lấy từ đâu)

Cú pháp

SELECT table_name.column_name, table_name.column_name
FROM table;
-- ORSELECT column, column
FROM table;

Ví dụ

/*
Lấy MSNV và Tên Nhân viên từ bảng Employee
Trong CSDL, tên thuộc tính, tên bảng theo format: viết liền, không dấu (unicode)
Đúng: name
sai: Họ tên
Đúng: hoTen
*/
select employee.MSNV, employee.name
from employee

5. Sorting Records

Cú pháp

  • Sắp xếp theo 1 cột
SELECT column, column
FROM table
ORDER BY column;
SELECT column, column
FROM table
ORDER BY column, column;
SELECT column, column
FROM table
ORDER BY column_position, column_position;
SELECT column, column
FROM table
ORDER BY column_position DESC, column_position ASC;

Ví dụ

/*
Select MSNV và Họ Tên từ bảng Employee.
Sắp xếp theo Họ Tên
*/
SELECT id, fullname
FROM Employee
ORDER BY fullname;
/*
Select MSNV, Họ Tên và Phòng ban từ bảng Employee.
Sắp xếp theo Phòng ban, Họ Tên
*/
SELECT id, fullname, department
FROM Employee
ORDER BY department, fullname;
/*
Select MSNV, Họ Tên và Phòng ban từ bảng Employee.
Sắp xếp theo Phòng ban, Họ Tên
*/
SELECT id, fullname, department
FROM Employee
ORDER BY 3, 2;
/*
Select MSNV, Họ Tên và Phòng ban từ bảng Employee.
Sắp xếp theo Phòng ban giảm dần, Họ Tên tăng dần
*/
SELECT id, fullname, department
FROM Employee
ORDER BY department DESC, fullname ASC;

THỰC HÀNH

Tới đây rồi có vẻ hơi hoang mang: Giờ muốn thực hành thì mần sao?

  • Xài CSDL có sẵn: có nhiều CSDL dựng sẵn và public trên Internet cũng như môi trường để thực hiện truy vấn dữ liệu. Tinhte.vn cũng có đề cập đến môi trường này. Ngoài ra, cũng có thể thực hành tại: w3schools.com (đây là site có tất tần tật các hướng dẫn về sql và nhiều thứ khác nữa).
  1. Lấy từ đâu? → bảng Suppliers
  2. Điều kiện là gì? → lấy hết danh sách
select *                /* (*) là lấy toàn bộ thông tin */
from Suppliers /* Tên bảng */
  1. Lấy tên Supplier và Thành Phố của tất cả các Suppliers đang có và sắp xếp tăng dần theo Thành phố
  2. Liệt kê danh sách các Sản phẩm (Products) theo thứ tự Giá bán tăng dần.
  3. Liệt kê danh sách các Khách Hàng (Customers) và sắp xếp tăng theo Tên Quốc gia.
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade