1. Trang chủ
  2. » Thể loại khác

su dung join trong sqlite

4 142 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 191,97 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sử dụng JOIN trong SQLite Mệnh đề Joins trong SQLite được sử dụng để kết hợp các bản ghi từ hai hoặc nhiều bảng trong một Database.. Một JOIN là một phương tiện để kết hợp các trường từ

Trang 1

Sử dụng JOIN trong SQLite

Mệnh đề Joins trong SQLite được sử dụng để kết hợp các bản ghi từ hai hoặc nhiều bảng

trong một Database Một JOIN là một phương tiện để kết hợp các trường từ hai bảng bằng

việc sử dụng các giá trị chung của mỗi bảng

SQLite định nghĩa ba loại Join chính, đó là:

• CROSS JOIN

• INNER JOIN

• OUTER JOIN

Trước khi bắt đầu, bạn theo dõi hai bảng COMPANY và DEPARTMENT Chúng ta đã thấy

cách lệnh INSERT nhập dữ liệu vào trong bảng COMPANY Do đó, giả sử dưới đây là

danh sách các bản ghi có trong bảng COMPANY

ID NAME AGE ADDRESS SALARY - -

- - - Paul 32

California 20000.0 Allen 25 Texas 15000.0

Teddy 23 Norway 20000.0 Mark 25

Rich-Mond 65000.0 David 27 Texas 85000.0

Kim 22 South-Hall 45000.0 James 24

Houston 10000.0 Bảng DEPARTMENT có các định nghĩa sau: CREATE TABLE DEPARTMENT ( ID INT PRIMARY KEY NOT NULL , DEPT

CHAR ( 50 ) NOT NULL , EMP_ID INT NOT NULL ); Lệnh INSERT để chèn dữ liệu vào bảng này: INSERT INTO DEPARTMENT ( ID , DEPT , EMP_ID ) VALUES ( , 'IT Billing' , 1 ); INSERT INTO DEPARTMENT ( ID , DEPT , EMP_ID ) VALUES ( , 'Engineering' , 2 ); INSERT INTO DEPARTMENT ( ID , DEPT , EMP_ID ) VALUES ( , 'Finance' , 7 ); Và chúng ta có các bản ghi sau trong bảng DEPARTMENT: ID DEPT EMP_ID - - -

IT Billing 1 2 Engineerin 2 3 Finance 7

Trang 2

CROSS JOIN trong SQLite

Một CROSS JOIN kết nối mỗi hàng của bảng đầu tiên với mỗi hàng của bảng thứ hai Nếu

các bảng đầu vào có x và y cột, thì tương ứng với đó, bảng kết quả sẽ có x+y cột Bởi vì

các CROSS JOIN này có khả năng để tạo ra các bảng lớn, do đó bạn nên cẩn thận để chỉ

sử dụng chúng khi thấy cần thiết

Cú pháp cơ bản của CROSS JOIN trong SQLite là:

SELECT FROM table1 CROSS JOIN table2 .

Dựa vào hai bảng trên, chúng ta có thể viết một Cross Join như sau:

sqlite > SELECT EMP_ID , NAME , DEPT FROM COMPANY CROSS JOIN DEPARTMENT ;

Truy vấn trên sẽ cho kết quả:

EMP_ID NAME DEPT - - -

Paul IT Billing Paul Engineerin Paul

Allen Finance Teddy IT Billing Teddy

Mark Engineerin Mark Finance David

Kim IT Billing Kim Engineerin Kim

James Finance

INNER JOIN trong SQLite

Một INNER JOIN tạo một bảng kết quả mới bằng việc kết hợp các giá trị cột của hai bảng

(table1 và table2) dựa trên join-predicate Truy vấn này so sánh mỗi hàng trong table1 với

mỗi hàng trong table2 để tìm ra các cặp hàng mà thỏa mãn predicate Khi

join-predicate được thỏa mãn, các giá trị cột của mỗi cặp hàng được kết nối A và B được kết

hợp vào trong một hàng kết quả

Một INNER JOIN là loại Join được sử dụng phổ biến nhất và là loại Join mặc định Bạn có

thể sử dụng từ khóa INNER tùy ý

Cú pháp cơ bản của INNER JOIN trong SQLite là:

SELECT FROM table1 [ INNER ] JOIN table2 ON conditional_expression .

Trang 3

Để tránh sự rườm rà và giúp cho truy vấn của bạn ngắn hơn, các điều kiện INNER JOIN có

thể được khai báo với biểu thức USING Biểu thức này xác định một danh sách của một

hoặc nhiều cột

SELECT FROM table1 JOIN table2 USING ( column1 ,

Một NATURAL JOIN là tương đương với một JOIN…USING, chỉ khi nó tự động kiểm tra

cho sự cân bằng giữa các giá trị của mỗi cột tồn tại trong cả hai bảng

SELECT FROM table1 NATURAL JOIN table2

Dựa vào hai bảng trên, chúng ta có thể viết một INNER JOIN như sau:

sqlite > SELECT EMP_ID , NAME , DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY ID = DEPARTMENT EMP_ID ;

Truy vấn trên sẽ cho kết quả:

EMP_ID NAME DEPT - - -

Paul IT Billing Allen Engineerin James

Finance

OUTER JOIN trong SQLite

OUTER JOIN là một sự mở rộng của INNER JOIN Mặc dù SQL chuẩn định nghĩa 3 loại

OUTER JOIN là: LEFT, RIGHT, và FULL nhưng SQLite chỉ hỗ trợ LEFT OUTER JOIN

Các OUTER JOIN có một điều kiện giống như các INNER JOIN, được biểu diễn bởi sử dụng từ khóa ON, USING hoặc NATURAL Bảng kết quả ban đầu được tính toán theo cùng cách thức Khi JOIN đầu tiên được tính toán, một Outer Join sẽ nhận bất kỳ các hàng chưa được kết hợp nào từ một hoặc các bảng, đệm chúng với các NULL và phụ chúng thêm vào bảng kết quả

Cú pháp cơ bản của LEFT OUTER JOIN trong SQLite là:

SELECT FROM table1 LEFT OUTER JOIN table2 ON conditional_expression .

Để tránh sự rườm rà và giúp cho truy vấn của bạn ngắn hơn, các điều kiện INNER JOIN có thể được khai báo với biểu thức USING Biểu thức này xác định một danh sách của một hoặc nhiều cột

Trang 4

SELECT FROM table1 LEFT OUTER JOIN table2 USING ( column1 ,

Dựa vào các bảng trên, chúng ta có thể viết một LEFT OUTER JOIN như sau:

sqlite > SELECT EMP_ID , NAME , DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT

ON COMPANY ID = DEPARTMENT EMP_ID ;

Truy vấn trên sẽ cho kết quả:

EMP_ID NAME DEPT - - -

Paul IT Billing Allen Engineerin Teddy

Mark David Kim James Finance

Ngày đăng: 02/12/2017, 11:26

HÌNH ẢNH LIÊN QUAN

Một CROSS JOIN kết nối mỗi hàng của bảng đầu tiên với mỗi hàng của bảng thứ hai. Nếu các bảng đầu vào có x và y cột, thì tương ứng với đó, bảng kết quả sẽ có x+y cột - su dung join trong sqlite
t CROSS JOIN kết nối mỗi hàng của bảng đầu tiên với mỗi hàng của bảng thứ hai. Nếu các bảng đầu vào có x và y cột, thì tương ứng với đó, bảng kết quả sẽ có x+y cột (Trang 2)
Dựa vào các bảng trên, chúng ta có thể viết một LEFT OUTER JOIN như sau: - su dung join trong sqlite
a vào các bảng trên, chúng ta có thể viết một LEFT OUTER JOIN như sau: (Trang 4)

TỪ KHÓA LIÊN QUAN

w