Postgresql 7.4.30 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 2. TheSQLNgôn ngữ | Chuyển tiếp nhanh | NEXT |
Cho đến nay, tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn của chúng tôi chỉ truy cập một bảng cùng một lúc. Truy vấn có thể truy cập nhiều bảng cùng một lúc hoặc truy cập giống nhau bảng theo cách mà nhiều hàng của bảng đang xử lý cùng một lúc. Một truy vấn truy cập nhiều hàng của cùng một bảng hoặc khác nhau tại một thời điểm được gọi làtỷ lệ kèo bóng đá trực tuyến hôm nayTruy vấn. Ví dụ, giả sử bạn muốn liệt kê Tất cả tỷ lệ kèo bóng đá trực tuyến hôm nay hồ sơ thời tiết cùng với vị trí của Thành phố liên kết. Để làm điều đó, chúng ta cần so sánh cột thành phố của mỗi hàng của bảng thời tiết với cột tên của tất cả tỷ lệ kèo bóng đá trực tuyến hôm nay hàng trong bảng thành phố và chọn tỷ lệ kèo bóng đá trực tuyến hôm nay cặp hàng trong đó chúng giá trị khớp.
Lưu ý:Đây chỉ là một mô hình khái niệm. Thực tế tỷ lệ kèo bóng đá trực tuyến hôm nay có thể được thực hiện một cách hiệu quả hơn, nhưng đây là vô hình với người dùng.
Điều này sẽ được thực hiện bằng truy vấn sau:
Chọn * Từ thời tiết, thành phố Nơi thành phố = tên;
Thành phố | TEMP_LO | TEMP_HI | PRCP | ngày | Tên | vị trí ---------------+---------+---------+------+------------+---------------+--------------- San Francisco | 46 | 50 | 0,25 | 1994-11-27 | San Francisco | (-194,53) San Francisco | 43 | 57 | 0 | 1994-11-29 | San Francisco | (-194,53) (2 hàng)
Quan sát hai điều về tập kết quả:
Không có kết quả hàng cho thành phố Hayward. Đây là
Vì không có mục nhập phù hợp trongThành phố
Bảng cho Hayward, vì vậy sự tham gia
Bỏ qua tỷ lệ kèo bóng đá trực tuyến hôm nay hàng chưa từng có trong bàn thời tiết. Chúng ta sẽ thấy
trong thời gian ngắn làm thế nào điều này có thể được sửa chữa.
Có hai cột chứa tên thành phố. Đây là
đúng vì danh sách tỷ lệ kèo bóng đá trực tuyến hôm nay cột củathời tiết
vàThành phố
Bảng được nối. Trong thực tế
Điều này là không mong muốn, mặc dù vậy, vì vậy bạn có thể sẽ muốn
Liệt kê tỷ lệ kèo bóng đá trực tuyến hôm nay cột đầu ra rõ ràng thay vì sử dụng*:
Chọn Thành phố, Temp_lo, Temp_Hi, PRCP, ngày, Vị trí Từ thời tiết, thành phố Nơi thành phố = tên;
Bài tập:Cố gắng tìm hiểu ngữ nghĩa của điều này Truy vấn khiWHEREmệnh đề là bỏ qua.
Vì tỷ lệ kèo bóng đá trực tuyến hôm nay cột đều có tên khác nhau, trình phân tích cú pháp tự động tìm ra bảng họ thuộc về cái nào, nhưng nó là Phong cách tốt để đủ đủ điều kiện tên cột trong tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn tham gia:
Chọn Weather.City, Weather.temp_lo, Weather.Temp_Hi, Weather.prcp, Weather.Date, Thành phố.location Từ thời tiết, thành phố Nơi thành phố.name = weather.city;
Tham gia tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn của loại được nhìn thấy cho đến nay cũng có thể được viết trong Mẫu thay thế này:
Chọn * Từ thời tiết bên trong tỷ lệ kèo bóng đá trực tuyến hôm nay thành phố trên (weather.city = thành phố.name);
Cú pháp này không được sử dụng phổ biến như cái trên, nhưng chúng tôi Hiển thị nó ở đây để giúp bạn hiểu tỷ lệ kèo bóng đá trực tuyến hôm nay chủ đề sau.
Bây giờ chúng ta sẽ tìm ra cách
Chúng tôi có thể lấy lại tỷ lệ kèo bóng đá trực tuyến hôm nay bản ghi Hayward. Những gì chúng tôi muốn truy vấn
làm là quétthời tiết
tỷ lệ kèo bóng đá trực tuyến hôm nay
và cho mỗi hàng để tìm sự phù hợpThành phố
Hàng. Nếu không tìm thấy hàng phù hợp, chúng tôi
Muốn một số"Giá trị trống"thành
được thay thế choThành phố
tỷ lệ kèo bóng đá trực tuyến hôm nay
cột. Loại truy vấn này được gọi làtỷ lệ kèo bóng đá trực tuyến hôm nay bên ngoài. (Sự tỷ lệ kèo bóng đá trực tuyến hôm nay mà chúng ta đã thấy cho đến nay là
bên trong tỷ lệ kèo bóng đá trực tuyến hôm nay.) Lệnh trông như thế này:
Chọn * Từ thời tiết bên trái tỷ lệ kèo bóng đá trực tuyến hôm nay thành phố tham gia bên ngoài trên (weather.city = thành phố.name); Thành phố | TEMP_LO | TEMP_HI | PRCP | ngày | Tên | vị trí ---------------+---------+---------+------+------------+---------------+--------------- Hayward | 37 | 54 | | 1994-11-29 | | San Francisco | 46 | 50 | 0,25 | 1994-11-27 | San Francisco | (-194,53) San Francisco | 43 | 57 | 0 | 1994-11-29 | San Francisco | (-194,53) (3 hàng)
Truy vấn này được gọi làBên ngoài trái tỷ lệ kèo bóng đá trực tuyến hôm nayVì bảng được đề cập ở bên trái của tham gia Nhà điều hành sẽ có từng hàng của nó trong đầu ra ít nhất một lần, trong khi bảng bên phải sẽ chỉ có tỷ lệ kèo bóng đá trực tuyến hôm nay hàng đó đầu ra phù hợp với một số hàng của bảng bên trái. Khi xuất ra a Hàng bảng bên trái mà không có trận đấu trên bàn phải, trống (NULL) tỷ lệ kèo bóng đá trực tuyến hôm nay giá trị được thay thế cho tỷ lệ kèo bóng đá trực tuyến hôm nay cột bảng phải.
Bài tập:Ngoài ra còn có tỷ lệ kèo bóng đá trực tuyến hôm nay kết nối bên ngoài bên phải và đầy đủ Bên ngoài tham gia. Cố gắng tìm hiểu những gì những người đó làm.
Chúng ta cũng có thể tham gia một tỷ lệ kèo bóng đá trực tuyến hôm nay chống lại chính nó. Đây là
được gọi làtự tỷ lệ kèo bóng đá trực tuyến hôm nay. Ví dụ, ví dụ
Giả sử chúng ta muốn tìm tất cả tỷ lệ kèo bóng đá trực tuyến hôm nay hồ sơ thời tiết trong
Phạm vi nhiệt độ của tỷ lệ kèo bóng đá trực tuyến hôm nay hồ sơ thời tiết khác. Vì vậy, chúng tôi cần phải so sánh
TheTEMP_LOvàTEMP_HIcột của mỗithời tiết
hàng đếnTEMP_LOvàTEMP_HICột của tất cả khácthời tiết
hàng. Chúng ta có thể làm điều này với
Truy vấn sau:
Chọn W1.City, W1.TEMP_LO là thấp, w1.temp_hi cao, W2.city, w2.temp_lo thấp, w2.temp_hi cao Từ thời tiết W1, thời tiết W2 WHERE W1.TEMP_LO <W2.TEMP_LO Và w1.temp_hi w2.temp_hi; Thành phố | Thấp | cao | Thành phố | Thấp | cao ---------------+-----+------+---------------+-----+------ San Francisco | 43 | 57 | San Francisco | 46 | 50 Hayward | 37 | 54 | San Francisco | 46 | 50 (2 hàng)
Ở đây chúng tôi đã dán nhãn lại tỷ lệ kèo bóng đá trực tuyến hôm nay thời tiết làW1vàW2Để có thể Phân biệt phía bên trái và bên phải của tham gia. Bạn cũng có thể sử dụng Những loại bí danh trong tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn khác để lưu một số gõ, ví dụ.:
Chọn * Từ thời tiết w, thành phố C Trong đó w.city = c.name;
Bạn sẽ bắt gặp phong cách viết tắt này khá thường xuyên.