Ngày 21 tháng 5 năm 2021 - Máy Tính
Trong bài viết trước, chúng ta đã cài đặt xong môi trường PostgreSQL. Trong bài này, chúng ta sẽ thực hiện một số thao tác cơ bản bằng ngôn ngữ SQL trên nền tảng này.
game bài đổi thưởng tặng quà khởi nghiệp 1. Các Thao Tác SQL Cơ Bản
a) Tạo Bảng
Chúng ta sẽ tạo hai bảng: một bảng ghi lại thông tin thời tiết hàng ngày (thoitiet
) với các trường về nhiệt độ và lượng mưa tại mỗi thành phố; và một bảng khác là thanhpho
, lưu trữ tọa độ địa lý của các thành phố. Theo khuyến nghị từ PostgreSQL, các từ khóa nên được viết hoa, trong khi tên trường và kiểu dữ liệu nên viết thường.
Dưới đây là Sam86 Club Choi Game Bài câu lệnh để tạo bảng:
TAOBANG thoitiet(
thanhpho VARCHAR(80), -- tên thành phố
nhietdo_thap INT, -- nhiệt độ thấp nhất
nhietdo_cao INT, -- nhiệt độ cao nhất
luongmua REAL, -- lượng mưa
ngay DATE -- ngày
);
TAOBANG thanhpho(
ten VARCHAR(80), -- tên thành phố
toado POINT -- kiểu dữ liệu đặc biệt của PostgreSQL, đại diện cho tọa độ (kinh độ, vĩ độ)
);
b) Chèn Dữ Liệu
Sử dụng các câu lệnh sau để chèn dữ liệu vào bảng thoitiet
và thanhpho
:
CHENVAO thoitiet(thanhpho, nhietdo_thap, nhietdo_cao, luongmua, ngay)
VALUES('Beijing', 18, 32, 0.25, '2021-05-19'), ('Beijing', 20, 30, 0.0, '2021-05-20'), ('Dalian', 16, 24, 0.0, '2021-05-21');
CHENVAO thanhpho(ten, toado) VALUES('Beijing', '(116.3, 39.9)'), ('Shanghai', [Sam86.Vip Game Bài Nhiều Người Chơi Nhất](/post/7910/) '(121.3, 31.1)');
c) Truy Vấn Đơn Giản
Để tính trung bình nhiệt độ hằng ngày, sử dụng biểu thức (nhietdo_thap + nhietdo_cao) / 2
trong câu lệnh SELECT:
CHON thanhpho, (nhietdo_thap + nhietdo_cao) / 2 NHILA trungbinh_nhietdo, ngay TUKHO thoitiet;
Kết quả:
thanhpho | trungbinh_nhietdo | ngay
---------+-------------------+------------
Beijing | 25 | 2021-05-19
Beijing | 25 | 2021-05-20
Dalian | 20 | 2021-05-21
(3 dòng)
Sử dụng điều kiện WHERE
để lọc ra những bản ghi có thành phố là Beijing và lượng mưa lớn hơn 0:
CHON * TUKHO thoitiet WHERE thanhpho='Beijing' AND luongmua>0.0;
Kết quả:
thanhpho | nhietdo_thap | nhietdo_cao | luongmua | ngay
---------+--------------+-------------+----------+------------
Beijing | 18 | 32 | 0.25 | 2021-05-19
(1 dòng)
Sử dụng từ khóa DISTINCT
để lọc bỏ trùng lặp và sắp xếp tên thành phố theo thứ tự chữ cái:
CHON DISTINCT thanhpho TUKHO thoitiet SAPXEPTHEO thanhpho;
Kết quả:
thanhpho
---------
Beijing
Dalian
(2 dòng)
d) Kết Hợp Bảng
Nội kết hợp (INNER JOIN): Kết hợp bảng thoitiet
và thanhpho
dựa trên tên thành phố giống nhau, trả về nhiệt độ, lượng mưa và vị trí địa lý của từng thành phố vào ngày cụ thể:
CHON t.thanhpho, t.nhietdo_thap, t.nhietdo_cao, t.luongmua, c.toado, t.ngay TUKHO thoitiet t, thanhpho c WHERE t.thanhpho = c.ten;
-- Hoặc cách viết tương đương:
CHON t.thanhpho, t.nhietdo_thap, t.nhietdo_cao, t.luongmua, c.toado, t.ngay TUKHO thoitiet t NOIKETHOP thanhpho c TRONGTHUOC(t.thanhpho = c.ten);
Kết quả:
thanhpho | nhietdo_thap | nhietdo_cao | luongmua | toado | ngay
---------+--------------+-------------+----------+------------+------------
Beijing | 18 | 32 | 0.25 | (116.3,39.9) | 2021-05-19
Beijing | 20 | 30 | 0 | (116.3,39.9) | 2021-05-20
(2 dòng)
… [Tiếp tục phần còn lại với cấu trúc tương tự]