Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में STRAIGHT_JOIN कैसे उपयोग करें?

STRAIGHT_JOIN इनर जॉइन जैसा है लेकिन टेबल ऑर्डर फोर्स करता है — ऑप्टिमाइज़र को बाएं टेबल पहले पढ़ने को कहता है।

सेटअप

CREATE TABLE ForeignTableDemo (Id INT, Name VARCHAR(100), FK INT);
CREATE TABLE PrimaryTableDemo (FK INT, Address VARCHAR(100), PRIMARY KEY(FK));
ALTER TABLE ForeignTableDemo ADD CONSTRAINT FKConst FOREIGN KEY (FK) REFERENCES PrimaryTableDemo(FK);

INSERT INTO PrimaryTableDemo VALUES (1,'US'), (2,'UK'), (3,'Unknown');
INSERT INTO ForeignTableDemo VALUES (1,'John',1), (2,'Bob',2);

STRAIGHT_JOIN क्वेरी

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      |
+------+------+---------+

केवल मिलान वाली रो (इनर जॉइन जैसा)। उपयोग: जब ऑप्टिमाइज़र गलत ऑर्डर चुनता है।

  1. - MySQL में @ चिह्न (उपयोगकर्ता-परिभाषित चर) का उपयोग करें

    MySQL में @ चिह्न **उपयोगकर्ता-परिभाषित चर (user-defined variables)** को दर्शाता है। ये चर सत्र-विशिष्ट (session-specific) होते हैं और एक कनेक्शन के भीतर मानों को अस्थायी रूप से संग्रहीत करके क्वेरी के बीच साझा करने की अनुमति देते हैं। सिंटैक्स SET @variable_name := value; या SELECT में असाइनमेंट:

  1. - MySQL में WITH ROLLUP का सही उपयोग कैसे करें

    WITH ROLLUP के साथ योग और कुल योग प्राप्त करना WITH ROLLUP का सिंटैक्स: select yourColumnName1, sum(yourColumnName2) from yourTableName group by yourColumnName1 with rollup; पहले टेबल बनाएं: create table DemoTable1622 ( EmployeeCountryName varchar(20), EmployeeSalary int ); Query OK, 0 rows affecte

  1. - MySQL में CURDATE के साथ CONTAINS() का उपयोग कैसे करें? (CONCAT + LIKE का उपयोग करें)

    MySQL में CONTAINS() नहीं है - CONCAT() और LIKE का उपयोग करें MySQL में CONTAINS() फ़ंक्शन नहीं है (यह SQL Server/Full-text खोज में मौजूद है)। स्ट्रिंग में उपस्ट्रिंग खोजने के लिए, LIKE ऑपरेटर के साथ CONCAT() का उपयोग करके डायनामिक पैटर्न बनाएं। वर्तमान तिथि जांचना SELECT CURDATE(); +------------+