Câu lệnh JOIN

Một phần của tài liệu Tìm hiểu MYSQL và PHP, hiện thực ứng dụng quản lý xuất nhập tân dược cho công ty xuất nhập khẩu Y tế thành phố Hồ Chí Minh (Trang 36 - 37)

Để truy xuất dữ liệu từ nhiều bảng ta phải kết nối các bảng lại bằng cách dùng toán tử JOIN. Toán tử này kết nối dữ liệu hai hay nhiều bảng với nhau theo mối quan hệ của chúng trong cơ sở dữ liệu. Có nhiều kiểu kết nối khác nhau được dùng trong MySQL và mỗi kiểu đều được dùng cho mỗi mục đích khác nhau. Cú pháp chung :

table_reference, table_reference

table_reference [CROSS]JOIN table_reference

table_reference INNER JOIN table_reference join_condition table_reference STRAIGHT_JOINtable_reference

table_reference LEFT [OUTER] JOIN table_reference join_condition table_reference LEFT[OUTER] JOIN table_reference

table_reference NATURAL[LEFT [OUTER]] JOIN table_reference { oj table_reference LEFT OUTER JOIN table_reference ON conditional_expr }

table_reference RIGHT[OUTER] JOIN table_reference join_condition table_reference RIGHT [OUTER]JOIN table_reference

table_reference NATURAL [RIGHT [OUTER]]JOIN table_reference

Lưu ý: khi kết nối các bảng với nhau thì trước hết phải có tên các bảng

đó. Chúng ta phải chỉ định kiểu kết nối. Dấu phẩy giữa tên các bảng tương đương với kiểu INTER JOIN or CROSS JOIN, đây là kiểu kết nối được xem

là kết nối đầy đủ.

Khi ta kết nối hai bảng với nhau, để đơn giản ta chỉ cần dùng dấu phẩy giữa hai tên bảng, sau đó bắt buột ta phải đặt điều kiện kết nối vào mệnh đề

WHERE. Đây là kiểu câu lệnh theo điều kiện mà có giải thích các đặc tính

giữa các bảng theo mối quan hệ của chúng.

Khi ta kết nối nhiều hơn hai bảng thì cũng không khó hơn khi ta kết nối hai bảng. Điều kiện chung là chúng ta cần kết nối các bảng theo từng cặp điều kiện kết nối.

Các ví dụ :

mysql> select table1.* from table1LEFT JOIN table2 ON table1.id=table2.id

where table2.id is NULL;

---

mysql> select * from table1,table2 where table1.id=table2.id;

mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id; mysql> select * from table1 LEFT JOIN table2 USING (id);

mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id LEFT JOIN table3 ON table2.id=table3.id;

--- mysql> select * from table1 USE INDEX (key1,key2) WHERE key1=1 and key2=2 AND key3=3;

--- mysql> select * from table1 IGNORE INDEX (key3) WHERE key1=1 and key2=2 AND key3=3;

Một phần của tài liệu Tìm hiểu MYSQL và PHP, hiện thực ứng dụng quản lý xuất nhập tân dược cho công ty xuất nhập khẩu Y tế thành phố Hồ Chí Minh (Trang 36 - 37)

Tải bản đầy đủ (PDF)

(118 trang)