10/10/2018, 10:32

dùng inner join hay nhìu cau select cùng lúc

cái nèo nhanh hơn vậy, và cho hỏi với phiên bản nào của MySQL thì hỗ trợ inner join
kid08 viết 12:43 ngày 10/10/2018
query 1 lần với nhiều lần thì cái nào nhanh hơn và tốt hơn thế bạn
zeroonea viết 12:44 ngày 10/10/2018
thế sao mình chẳng thấy ai xài inner join cả
kid08 viết 12:36 ngày 10/10/2018
, người ta dùng left join nhiều hơn
zeroonea viết 12:35 ngày 10/10/2018
ngộ nhẩy, mà sao trong Mysql khóa ngoại nó ko có tác dụng dza65y
kid08 viết 12:45 ngày 10/10/2018
khóa ngoại là sao bạn
zeroonea viết 12:48 ngày 10/10/2018
- Foreign key hay còn gọi là khóa ngoại, nó là 1 trường liên kết đến 1 trường khác trong 1 bảng khác, chắc mình gọi tên = tiếng việt nên bạn ko rõ, sorry.

- ví dụ: về khóa ngoại như bảng category có trường id, trong bảng media có trường category_id là khóa ngoại liên kết đến trường id trong bảng category, khóa ngoại có qui tắc toàn vẹn dữ liệu là dữ liệu chỉ tồn tại khi trường mà khóa ngoại liên kết đến cũng mang dữ liệu đó, ví dụ trường id trong bảng category có các giá trị 1,2,3,5 thì trường category_id trong bảng media mới được phép nhận các giá trị 1,2,3,5, khi nhập giá trị 4 thì sẽ ko được, nhưng chỉ ok trên SQL, còn trong mysql nếu nhập 4 thì chẳng báo lỗi gì tuy là cho phép tạo khóa ngoại nhưng hình như chẳng có tác dụng.

- Mình hỏi là trong mysql, khóa ngoại hầu như ko có tác dụng, có ai biết tại sao ko, còn bạn nói thường dùng left join thì mình ko biết chứ thường sử dụng inner join mới đảm bảo toàn vẹn dữ liệu.
kid08 viết 12:35 ngày 10/10/2018
đúng là inner join chắc chắn hơn nhưng left join sử dụng nhiều hơn vì có thể trường ở table này tồn tại nhưng ko cần thiết table kia tồn tại thì vẫn show ra khi đó left join đc dùng , các source lớn bạn có thấy nó dùng inner join mấy ko , mà khóa ngoại bạn có thể cho vd ko, nghe lạ quá , newbie
zeroonea viết 12:45 ngày 10/10/2018
bạn nói thế không đúng vì đa số dùng inner join cả source lớn cũng vậy, bạn thử cho vài ví dụ về dùng left join xem.

về khóa ngoại mình đã post 1 ví dụ trên kia roài đó.
kid08 viết 12:35 ngày 10/10/2018
hí, thử ddos coi time die sql là bao nhiu bít liền

chưa biết tạo khóa ngoại ra sao và ứng dụng của nó, có phải là cái primary key ko

còn cái left join thì nó dùng giống inner join nhưng khác chô là trong biểu thức ON của nó với inner join 2 trường của 2 table phải tồn tại dữ liệu còn left join thì table trái ko cần cũng đc (right join tương tự)
Bài liên quan
0