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

MySQL में पूर्णांकों के सेट से कैसे चुनें?

UNION से मानों का सेट बनाएं

टेबल के बिना सीधे क्वेरी में पूर्णांकों का सेट बनाने के लिए UNION का उपयोग करें। यह अस्थायी टेस्ट डेटा या IN() क्लॉज के लिए मान सूची बनाने के लिए उपयोगी है।

सिंटैक्स

SELECT value1 UNION SELECT value2 UNION SELECT value3 ...;

उदाहरण

mysql> SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 
    -> UNION SELECT 4000 UNION SELECT 5000 UNION SELECT 6000 UNION SELECT 7000;

+------+
| 1000 |
+------+
| 1000 |
| 2000 |
| 3000 |
| 4000 |
| 5000 |
| 6000 |
| 7000 |
+------+

UNION vs UNION ALL

ऑपरेटरव्यवहारप्रदर्शन
UNIONडुप्लीकेट हटाता है (DISTINCT)धीमा
UNION ALLसभी पंक्तियां रखता हैतेज

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

-- IN क्लॉज के लिए मान सूची
SELECT * FROM products WHERE id IN (
    SELECT 100 UNION SELECT 200 UNION SELECT 300
);

-- टेस्ट डेटा उत्पन्न करना
SELECT * FROM (
    SELECT 1 AS id, 'Product A' AS name UNION ALL
    SELECT 2, 'Product B' UNION ALL
    SELECT 3, 'Product C'
) AS test_data;

VALUES क्लॉज (MySQL 8.0.19+)

-- अधिक पठनीय सिंटैक्स
SELECT * FROM (VALUES ROW(1, 'A'), ROW(2, 'B'), ROW(3, 'C')) AS t(id, name);

सीक्वेंस जनरेट करना

बड़े सीक्वेंस के लिए रिकर्सिव CTE (MySQL 8.0+) बेहतर है:

WITH RECURSIVE seq(n) AS (
    SELECT 1 UNION ALL SELECT n+1 FROM seq WHERE n < 1000
)
SELECT n FROM seq;
  1. - MySQL में FROM क्लॉज के बिना SELECT का उपयोग कैसे करें?

    SELECT के बाद FROM क्लॉज टेबल का संदर्भ दिखाता है। लेकिन अगर किसी टेबल का कोई संदर्भ नहीं है तो हम SELECT का उपयोग FROM क्लॉज के बिना कर सकते हैं। दूसरे शब्दों में, हम कह सकते हैं कि SELECT का उपयोग बिना किसी टेबल के संदर्भ के कम्प्यूटेड पंक्तियों को पुनः प्राप्त करने के लिए किया जा सकता है। निम्न

  1. - MySQL में वेरिएबल कैसे घोषित करें?

    हम SELECT और SET कमांड की मदद से MySQL में वेरिएबल घोषित कर सकते हैं। वेरिएबल घोषित करने से पहले हमें @ चिह्न को उपसर्ग करना होगा।सिंटैक्स निम्नानुसार है:SELECT @yourVariableName;चिह्न @ बताता है कि यह उपयोगकर्ता-परिभाषित वेरिएबल है या नहीं। यदि कोई चिह्न नहीं है, तो इसका मतलब होगा कि यह एक स्थानीय

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर