Theo một mức độ định nghĩa nghiêm ngặt, nó là không thể. Tại sao? Vì định nghĩa của một sản phẩm Descartes chính xác như những gì bạn mô tả (thuật ngữ "phép nối Descartes" không thường được sử dụng nhưng là từ đồng nghĩa với "sản phẩm Descartes"). Do đó, bất kỳ phương pháp nào bạn sử dụng đều đang triển khai chức năng này. Thông thường, chức năng này đang được triển khai bằng cách sử dụng CROSS JOIN
(và tôi miễn cưỡng thừa nhận, đôi khi sử dụng ,
).
Bạn có thể nói "thêm 1 vào một số mà không cần thực hiện + 1
". Một người khác đi cùng và nói" sử dụng + 2 - 1
". Chà, đó là thêm một, nhưng chỉ sử dụng hai thao tác thay vì một.
Nếu bạn muốn một sản phẩm Descartes nhưng bạn không muốn sử dụng CROSS JOIN
toán tử, phương pháp điển hình nhất sử dụng ON 1=1
:
select t1.*, t2.*
from t1 join
t2
on 1 = 1;