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

MySQL WHERE क्लॉज में एक ही टेबल के दो कॉलम कैसे उपयोग करें?

एक ही टेबल के दो कॉलम को WHERE क्लॉज में उपयोग करना दुर्लभ लेकिन संभव है। आमतौर पर इसका उपयोग स्वयं-संदर्भ (सेल्फ-रेफरेंस) तुलना के लिए होता है।

उदाहरण:

mysql> Select F_name, L_name
    -> From Customer
    -> where F_name = L_name;
Empty set (0.00 sec)

व्याख्या:

  • F_name और L_name एक ही टेबल Customer के कॉलम हैं
  • शर्त F_name = L_name जांचती है कि पहला नाम और अंतिम नाम समान हैं
  • इस डेटा में ऐसा कोई रिकॉर्ड नहीं, इसलिए Empty set

व्यावहारिक उपयोग केस:

1. सेल्फ-जॉइन स्थिति (हायरार्किकल डेटा):

-- मैनेजर और कर्मचारी एक ही टेबल में
SELECT e.name AS employee, m.name AS manager
FROM employees e
JOIN employees m ON e.manager_id = m.id;

2. एक ही टेबल में दो तारीख कॉलम की तुलना:

-- ऑर्डर जहां शिपिंग तारीख ऑर्डर तारीख से पहले है (डेटा गुणवत्ता जांच)
SELECT * FROM orders WHERE ship_date < order_date;

3. फ्लैग कॉलम की तुलना:

-- जहां दो बूलियन फ्लैग दोनों सत्य हैं
SELECT * FROM tasks WHERE is_completed = 1 AND is_approved = 1;

नोट: एक ही टेबल के दो कॉलम की तुलना में कोई विशेष सिंटैक्स नहीं - सामान्य WHERE col1 = col2 सिंटैक्स काम करता है।

  1. - MySQL में एकाधिक कॉलम पर DISTINCT क्लॉज का उपयोग कैसे करें?

    हम MySQL में एकाधिक कॉलम पर DISTINCT क्लॉज का उपयोग कर सकते हैं। इस मामले में, रिजल्ट सेट में पंक्तियों की विशिष्टता सभी कॉलम के संयोजन पर निर्भर करेगी। उदाहरण निम्न testing टेबल पर विचार करें जिसमें 10 पंक्तियाँ हैं - mysql> select * from testing; +------+---------+---------+ | id   | f

  1. - MySQL में CASE WHEN स्टेटमेंट के अंदर WHERE क्लॉज का उपयोग

    CASE WHEN में शर्तों का उपयोग (WHERE नहीं) MySQL में CASE स्टेटमेंट के अंदर WHERE क्लॉज सीधे उपयोग नहीं किया जा सकता। इसके बजाय CASE WHEN condition THEN ... सिंटैक्स का उपयोग करें जहां शर्तें बूलियन अभिव्यक्तियां होती हैं। टेबल और डेटा CREATE TABLE DemoTable1040 ( Value1 INT, Value2 INT,

  1. - MySQL VIEW में WHERE क्लॉज का उपयोग कैसे करें?

    MySQL VIEW पर WHERE क्लॉज लागू करना MySQL VIEW एक आभासी टेबल है जो एक SELECT क्वेरी के परिणाम सेट पर आधारित होती है। आप किसी भी नियमित टेबल की तरह VIEW पर WHERE क्लॉज लागू करके परिणामों को फ़िल्टर कर सकते हैं। उदाहरण: छात्र VIEW बनाना और फ़िल्टर करना पहले एक छात्र टेबल बनाते हैं: SELECT * FROM Dem