SQLite - Biểu thức

Xin chào các bạn, những nhà pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ khám phá thế giới fascinatings của các biểu thức SQLite. Là giáo viên máy tính ở khu phố của bạn, tôi ở đây để hướng dẫn bạn trong hành trình này, từng bước một. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - chúng ta sẽ bắt đầu từ cơ bản và dần dần nâng cao. Vậy, hãy lấy饮料 yêu thích của bạn, ngồi thoải mái, và cùng nhau bắt đầu cuộc phiêu lưu SQLite này!

SQLite - Expressions

什么是 SQLite Biểu thức?

Trước khi chúng ta nhảy vào chi tiết, hãy hiểu biểu thức là gì trong SQLite. Hãy tưởng tượng biểu thức như là những khối xây dựng của truy vấn cơ sở dữ liệu của bạn. Chúng giống như nguyên liệu trong một công thức - bạn kết hợp chúng theo các cách khác nhau để tạo ra kết quả mạnh mẽ và ý nghĩa.

Trong SQLite, biểu thức có thể đơn giản như một giá trị duy nhất hoặc phức tạp như sự kết hợp của nhiều thao tác. Chúng được sử dụng trong nhiều phần của câu lệnh SQL, chẳng hạn như các mệnh đề SELECT, WHERE và ORDER BY.

Bây giờ, hãy khám phá ba loại biểu thức chính trong SQLite:

  1. Biểu thức Boolean
  2. Biểu thức Số học
  3. Biểu thức Ngày

SQLite - Biểu thức Boolean

Biểu thức Boolean giống như những câu hỏi đúng/sai trong một bài kiểm tra. Chúng đánh giá thành TRUE hoặc FALSE. Những biểu thức này rất hữu ích khi bạn muốn lọc dữ liệu hoặc ra quyết định trong truy vấn của mình.

Các toán tử so sánh cơ bản

Hãy bắt đầu với một số toán tử so sánh cơ bản:

Toán tử Mô tả
= Bằng
<> Không bằng
< Nhỏ hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng

Dưới đây là một ví dụ đơn giản:

SELECT name, age
FROM students
WHERE age > 18;

Trong truy vấn này, age > 18 là biểu thức boolean của chúng ta. Nó kiểm tra xem tuổi có lớn hơn 18 hay không và trả về TRUE cho tất cả học sinh trên 18 tuổi.

Các toán tử logic

Bây giờ, hãy làm cho mọi thứ thú vị hơn với các toán tử logic:

Toán tử Mô tả
AND Logic AND
OR Logic OR
NOT Logic NOT

Dưới đây là một ví dụ kết hợp nhiều điều kiện:

SELECT name, age, grade
FROM students
WHERE age > 18 AND grade = 'A';

Truy vấn này tìm tất cả học sinh trên 18 tuổi và có điểm 'A'. Đó là như nói, "Hiển thị cho tôi các học sinh lớn tuổi có điểm A!"

Toán tử BETWEEN

Toán tử BETWEEN là một cách viết tắt để kiểm tra xem một giá trị có trong phạm vi hay không:

SELECT name, score
FROM exam_results
WHERE score BETWEEN 80 AND 90;

Truy vấn này tìm tất cả học sinh có điểm từ 80 đến 90 trong kỳ thi. Nó tương đương với việc viết score >= 80 AND score <= 90.

SQLite - Biểu thức Số học

Biểu thức số học trong SQLite cho phép bạn thực hiện các thao tác toán học trong truy vấn của mình. Đó là như có một máy tính trong cơ sở dữ liệu của bạn!

Các toán tử số học

Dưới đây là các toán tử số học cơ bản:

Toán tử Mô tả
+ Cộng
- Trừ
* Nhân
/ Chia
% Modulo

Hãy xem chúng trong hành động:

SELECT name,
price,
quantity,
price * quantity AS total_cost
FROM orders;

Trong truy vấn này, chúng ta đang tính tổng chi phí bằng cách nhân giá với số lượng. Từ khóa AS cho phép chúng ta đặt tên cho cột tính toán.

Các hàm tổng hợp

SQLite cũng cung cấp các hàm tổng hợp hoạt động trên một tập hợp các giá trị:

Hàm Mô tả
AVG() Tính trung bình
SUM() Tính tổng
COUNT() Đếm số lượng hàng
MAX() Tìm giá trị 最大
MIN() Tìm giá trị 最小

Dưới đây là một ví dụ sử dụng các hàm tổng hợp:

SELECT
AVG(price) AS average_price,
SUM(quantity) AS total_items,
COUNT(*) AS order_count,
MAX(price) AS highest_price,
MIN(price) AS lowest_price
FROM orders;

Truy vấn này cung cấp cho chúng ta một bản tóm tắt của bảng orders, bao gồm giá trung bình, tổng số lượng, số đơn hàng, giá cao nhất và giá thấp nhất.

SQLite - Biểu thức Ngày

Làm việc với ngày trong cơ sở dữ liệu có thể khó khăn, nhưng SQLite cung cấp một số hàm tiện lợi để dễ dàng hơn.

Các hàm ngày và giờ

Dưới đây là một số hàm ngày và giờ thường được sử dụng:

Hàm Mô tả
date() Trả về ngày hiện tại
time() Trả về giờ hiện tại
datetime() Trả về ngày và giờ hiện tại
julianday() Trả về ngày Julian cho một ngày
strftime() Định dạng một ngày theo chuỗi format

Hãy xem cách chúng ta có thể sử dụng các hàm này:

SELECT
date('now') AS current_date,
time('now') AS current_time,
datetime('now') AS current_datetime,
julianday('now') AS julian_day,
strftime('%Y-%m-%d %H:%M', 'now') AS formatted_datetime;

Truy vấn này hiển thị cho chúng ta các cách khác nhau để làm việc với ngày và giờ hiện tại.

Tính toán ngày

Chúng ta cũng có thể thực hiện các phép toán với ngày:

SELECT
name,
hire_date,
date(hire_date, '+1 year') AS first_anniversary,
julianday('now') - julianday(hire_date) AS days_employed
FROM employees;

Trong truy vấn này, chúng ta đang tính ngày kỷ niệm đầu tiên của mỗi nhân viên và số ngày họ đã làm việc.

Và thế là xong, các bạn! Chúng ta đã cùng nhau hành trình qua vùng đất của các biểu thức SQLite, từ logic boolean đến toán học và du lịch thời gian (ít nhất là một chút). Nhớ rằng, thực hành là cách tốt nhất để hoàn thiện, vì vậy đừng ngần ngại thử nghiệm các biểu thức này trong truy vấn của riêng bạn.

Trước khi kết thúc, đây là một câu chuyện nhỏ từ kinh nghiệm giảng dạy của tôi: Tôi từng có một học sinh gặp khó khăn với biểu thức boolean. Anh ấy liên tục nhầm lẫn AND và OR. Vì vậy, tôi đã bảo anh ấy nghĩ đến AND như một người cha严格 (cả hai điều kiện phải đúng) và OR như một người cha khoan dung (bất kỳ điều kiện nào cũng có thể đúng). Anh ấy không bao giờ quên sau đó!

Tôi hy vọng hướng dẫn này đã hữu ích và thậm chí là vui vẻ. Tiếp tục khám phá, tiếp tục truy vấn, và quan trọng nhất, tiếp tục học hỏi. Đến gặp lại các bạn, chúc các bạn mã hóa vui vẻ!

Credits: Image by storyset