STRAIGHT_JOIN সাধারণ INNER JOIN-এর মতোই কাজ করে, কিন্তু টেবিল জয়েনের অর্ডার বাধ্য করে (লेफট টেবিল প্রথমে পড়া হয়)। অপ্টিমাইজার জয়েন অর্ডার পরিবর্তন করতে পারে না।
দুটি টেবিল ও রিলেশন
mysql> CREATE TABLE ForeignTableDemo (Id INT, Name VARCHAR(100), FK INT); mysql> CREATE TABLE PrimaryTableDemo (FK INT, Address VARCHAR(100), PRIMARY KEY(FK)); mysql> ALTER TABLE ForeignTableDemo ADD CONSTRAINT FKConst FOREIGN KEY(FK) REFERENCES PrimaryTableDemo(FK);
ডেটা ইনসার্ট
mysql> INSERT INTO PrimaryTableDemo VALUES(1,'US'),(2,'UK'),(3,'Unknown'); mysql> INSERT INTO ForeignTableDemo VALUES(1,'John',1),(2,'Bob',2);
STRAIGHT_JOIN কুয়েরি
mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address -> FROM ForeignTableDemo -> STRAIGHT_JOIN PrimaryTableDemo -> ON ForeignTableDemo.FK = PrimaryTableDemo.FK;
+------+------+---------+ | Id | Name | Address | +------+------+---------+ | 1 | John | US | | 2 | Bob | UK | +------+------+---------+
শুধু মিলে যাওয়া সারি ফেরত দেয় (Inner join-এর মতো)। পারফরম্যান্স টিউনিং-এ জয়েন অর্ডার ফিক্স করতে এটি ব্যবহার করা হয়।