UNION और DISTINCT के साथ कस्टम क्रम में परिणाम प्राप्त करना
कभी-कभी आपको परिणाम सेट में कुछ विशिष्ट मानों को प्राथमिकता देनी होती है, फिर शेष अद्वितीय मान दिखाने होते हैं। इसके लिए UNION और DISTINCT का संयोजन उपयोगी है।
टेबल निर्माण
mysql> CREATE TABLE DemoTable (
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.96 sec)
mysql> INSERT INTO DemoTable VALUES('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('Mike');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('David');
Query OK, 1 row affected (0.14 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+-----------+ | FirstName | +-----------+ | Chris | | Robert | | Mike | | David | +-----------+ 4 rows in set (0.00 sec)
कस्टम क्रम में क्वेरी
'Robert' और 'David' को पहले दिखाएं, फिर शेष अद्वितीय नाम:
mysql> SELECT 'Robert' AS FirstName
UNION SELECT 'David' AS FirstName
UNION SELECT DISTINCT(FirstName) AS FirstName FROM DemoTable;
परिणाम:
+-----------+ | FirstName | +-----------+ | Robert | | David | | Chris | | Mike | +-----------+ 4 rows in set (0.00 sec)
व्याख्या: UNION स्वचालित रूप से डुप्लिकेट हटा देता है। पहले दो SELECT कथन निश्चित मान जोड़ते हैं, तीसरा टेबल से अद्वितीय नाम लाता है। ध्यान दें कि 'Robert' और 'David' टेबल में पहले से मौजूद हैं, लेकिन UNION उन्हें दोहराता नहीं।