क्वेरी प्रश्न हल करने के लिए उपश्रेणियाँ
1. Which of the following are the types of sub-queries?
- उप-प्रश्न का आदेश दिया
- उप-प्रश्नों को समूहीकृत किया
- एकल पंक्ति उप-प्रश्न
- इनमे से कोई भी नहीं
Answer: C. एक सबक्वेरी एक पूरी क्वेरी है जो SELECT, FROM, HAVING, या किसी अन्य क्वेरी के क्लॉज में निहित है। सबक्वेरी को कोष्ठकों में संलग्न किया जाना चाहिए और एक SELECT और FROM क्लॉज एक न्यूनतम पर होना चाहिए। एकल पंक्ति उप-प्रश्न और बहु-पंक्ति उप-प्रश्न मुख्य प्रकार के उप-प्रश्न हैं
2.Which of the following is true about sub-queries?
- वे मुख्य क्वेरी निष्पादित होने के बाद निष्पादित करते हैं
- वे मुख्य क्वेरी के समानांतर निष्पादित करते हैं
- उपयोगकर्ता मुख्य क्वेरी को निष्पादित कर सकता है और फिर, यदि वांछित है, तो उप-क्वेरी को निष्पादित कर सकता है
- वे मुख्य क्वेरी निष्पादित होने से पहले निष्पादित करते हैं।
Answer: D. उप-क्वेरी हमेशा मुख्य क्वेरी के निष्पादन से पहले निष्पादित होती है। सारांश पहले पूरा हो जाते हैं। उप-क्वेरी का परिणाम बाहरी क्वेरी के लिए इनपुट के रूप में उपयोग किया जाता है।
3.Which of the following is true about the result of a sub-query?
- निष्पादित होने पर एक उप-क्वेरी के परिणाम को आमतौर पर अनदेखा किया जाता है।
- एक उप-क्वेरी का परिणाम परिणाम नहीं देता है, यह मुख्य क्वेरी निष्पादन को गति देने में बस सहायक है
- एक उप-क्वेरी का परिणाम मुख्य क्वेरी द्वारा उपयोग किया जाता है।
- एक सब-क्वेरी का परिणाम हमेशा NULL होता है
Answer: C. उपश्रेणियों को पहले पूरा किया जाता है। उपशम का परिणाम बाहरी क्वेरी के लिए इनपुट के रूप में उपयोग किया जाता है।
4.Which of the following clause is mandatorily used in a sub-query?
- SELECT
- WHERE
- द्वारा आदेश
- समूह द्वारा
Answer: A. एक उप-क्वेरी किसी भी अन्य क्वेरी की तरह है जिसे एक सेलेक्ट क्लॉज से शुरू करना होता है। वे एक बाहरी प्रश्न के भीतर समाहित हैं।
5. Which of the following is a method for writing a sub-query in a main query?
- JOINS का उपयोग करके
- WHERE क्लॉज का उपयोग करके
- ग्रुप बीओ क्लॉज का उपयोग करके
- दूसरे SELECT स्टेटमेंट के क्लॉज में एम्बेडेड SELECT स्टेटमेंट लिखकर
Answer: D. एक सबक्वेरी एक पूरी क्वेरी है जिसमें SELECT, FROM, HAVING, या WHERE क्लॉज़ ऑफ़ नेक्स्ट नेस्टेड है। सबक्वेरी को कोष्ठक में संलग्न किया जाना चाहिए और एक सेलेक्ट और FROM क्लॉज़ कम से कम होना चाहिए।
6.In the given scenarios, which one would appropriately justify the usage of sub-query?
- जब हमें मूल्यों को योग करने की आवश्यकता होती है
- जब हमें चरित्र मानों को दिनांक या संख्या मानों में बदलने की आवश्यकता होती है
- जब हमें किसी ऐसी स्थिति वाली तालिका से पंक्तियों का चयन करने की आवश्यकता होती है जो समान या भिन्न तालिका से डेटा पर निर्भर करती है।
- इनमे से कोई भी नहीं
Answer: C.
7.In which of the following clauses can a sub-query be used?
- HAVING
- WHERE
- FROM
- ऊपर के सभी
Answer: D. एक उप-क्वेरी सामान्य क्वेरी से अलग नहीं है। यह एक सेलेक्ट स्टेटमेंट के सभी प्राथमिक क्लॉस का उपयोग कर सकता है।
8.Which of the following single-row operators can be used for writing a sub-query?
- >=
- <
- =
- ऊपर के सभी
Answer: D. एकल-पंक्ति ऑपरेटरों में =,>, <,> =, <=, और <> शामिल हैं।
9.Which of the following multi-row operators can be used with a sub-query?
- IN
- ANY
- ALL
- ऊपर के सभी
Answer: D. कई-पंक्ति सबक्वेरी परिणाम की एक से अधिक पंक्ति में लौटते हैं। कई-पंक्ति सब-सीरीज़ के साथ उपयोग किए जा सकने वाले विभाजकों में IN, ALL, Any, और EXISTS शामिल हैं।
10.What is true about the output obtained from a sub-query?
- यह बफर कैश में रहता है
- यह उप-क्वेरी के अंदर रहता है और बाद में जरूरत पड़ने पर उपयोग किया जा सकता है
- इसका उपयोग बाहरी (मुख्य) क्वेरी को पूरा करने के लिए किया जाता है
- A और C दोनों
Answer: C. उपश्रेणियों को पहले पूरा किया जाता है। उपशम का परिणाम बाहरी क्वेरी के लिए इनपुट के रूप में उपयोग किया जाता है।
11.You need to find the salaries for all the employees who have a higher salary than the Vice President of a company 'ABC'.Which of the following queries will give you the required result? (Consider the table structure as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT first_name, last_name, salary FROM employees WHERE salary > (SELECT salary FROM employees WHERE job_id = 'VICE-PRESIDENT');
SELECT first_name, last_name, salary FROM employees WHERE salary = (SELECT salary FROM employees WHERE job_id = 'VICE-PRESIDENT');
SELECT first_name, last_name, salary FROM employees WHERE job_id = 'VICE-PRESIDENT');
- इनमे से कोई भी नहीं
Answer: A. विकल्प 'ए' में, आंतरिक उप-क्वेरी बाहरी क्वेरी के परिणामस्वरूप VP का वेतन देती है।
12.What among the following is true about sub-queries?
- एक उप-संचालक के दोनों ओर उप-प्रश्न लिखे जा सकते हैं
- उप-प्रश्नों के लिए कोष्ठक अनिवार्य नहीं है
- एकल-पंक्ति उप-प्रश्न बहु-पंक्ति ऑपरेटरों का उपयोग कर सकते हैं लेकिन इसके विपरीत संभव नहीं है
- ऊपर के सभी
Answer: A. क्वेरी इंडेंटेशन और प्रयोज्य के आधार पर तुलनात्मक ऑपरेटर के बाएं या दाएं हाथ पर उप-प्रश्न रखे जा सकते हैं।
13. What will be the outcome of the following query? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT first_name, last_name, salary
FROM employees
WHERE salary ANY (SELECT salary FROM employees);
- यह वांछित परिणाम देने में सफलतापूर्वक निष्पादित करता है
- यह सफलतापूर्वक निष्पादित होता है लेकिन वांछित परिणाम नहीं देता है
- यह एक ORA त्रुटि फेंकता है
- यह सफलतापूर्वक निष्पादित होता है और परिणाम सेट में प्राप्त प्रत्येक पंक्ति के लिए दो मान देता है
Answer: C. बहु-पंक्ति ऑपरेटरों का उपयोग एकल-पंक्ति उप-प्रश्नों और इसके विपरीत में नहीं किया जा सकता है।
14.Which of the following is true about single-row sub-queries?
- वे मुख्य क्वेरी से एक परिणाम देते हैं
- वे परिणाम सेट में केवल एक पंक्ति देते हैं
- वे आंतरिक चयन कथन से केवल एक पंक्ति लौटाते हैं
- वे मुख्य (बाहरी) क्वेरी से कई पंक्तियाँ देते हैं
Answer: C. एक एकल-पंक्ति उपकुंजी अधिकतम एक मान लौटा सकती है।
15.What is true about multi-row sub-queries?
- वे आंतरिक क्वेरी के परिणाम के रूप में एक से अधिक कॉलम वापस कर सकते हैं
- वे मुख्य क्वेरी में कई पंक्तियों को वापस करते हैं, लेकिन केवल एक परिणाम आंतरिक क्वेरी में सेट होता है
- वे मुख्य क्वेरी में एकल पंक्ति लेकिन आंतरिक उप-क्वेरी में कई पंक्तियाँ वापस करते हैं
- वे आंतरिक चयन कथन से एक से अधिक पंक्ति लौटाते हैं
Answer: D. बहु-स्तंभ उप-क्वेरी अपने परिणाम सेट में एक से अधिक कॉलम लौटाती हैं, बहु-पंक्ति उप-क्वेरी आंतरिक क्वेरी से एक पंक्ति से अधिक वापस आती हैं।
16.What among the following is true about single-row sub-queries?
- वे केवल एक पंक्ति में लौटते हैं
- वे एकल-पंक्ति ऑपरेटरों का उपयोग करते हैं
- A और B दोनों
- इनमे से कोई भी नहीं
Answer: C.
17.Which of the following operators cannot be used in a sub-query?
- AND
- <
- >
- <>
Answer: A. एकल-पंक्ति ऑपरेटरों में =,>, <,> =, <=, और <> शामिल हैं। बहु-पंक्ति ऑपरेटर जिनका उपयोग कई-पंक्ति उप-श्रेणियों के साथ किया जा सकता है, उनमें IN, ALL, Any, और EXISTS शामिल हैं।
Examine the exhibit and answer the questions 18 to 21 that follow.
18.You need to find out the names of all employees who belong to the same department as the employee 'Jessica Butcher' who is in department 100 and has an employee ID 40. Which of the following queries will be correct?
SELECT first_name, last_name FROM employees WHERE last_name = 'Butcher' And first_name = 'Jessica';
SELECT first_name, last_name FROM employees WHERE department =100;
SELECT first_name, last_name FROM employees WHERE department = (SELECT department FROM employees WHERE first_name = 'Jessica' AND last_name = 'Butcher');
SELECT first_name, last_name FROM employees WHERE department = (SELECT department FROM employees WHERE first_name = 'Jessica' AND last_name = 'Butcher' AND department = 100 AND employee_id = 40);
Answer: D. 'D' 'C' से अधिक उपयुक्त है क्योंकि यह कर्मचारी आईडी पर फ़िल्टर करता है जो अद्वितीय है और यह सुनिश्चित करता है कि उप-क्वेरी केवल एकल पंक्ति में वापस आएगी। 'C' विफल हो सकता है यदि एक ही पहले और अंतिम नाम के साथ एक से अधिक कर्मचारी हैं।
19.You need to find out the employees which belong to the department of 'Jessica Butcher' and have salary greater than the salary of 'Jessica Butcher' who has an employee ID of 40. Which of the following queries will work?
SELECT first_name, last_name FROM employees WHERE last_name = 'Butcher' AND first_name = 'Jessica' AND salary > 10000;
SELECT first_name, last_name FROM employees WHERE department = 100;
SELECT first_name, last_name FROM employees WHERE department = (SELECT department FROM employees WHERE first_name = 'Jessica' AND last_name = 'Butcher' AND employee_id = 40) AND salary > (SELECT salary FROM employees WHERE first_name = 'Jessica' AND last_name = 'Butcher' AND employee_id = 40);
SELECT first_name, last_name FROM employees WHERE department = (SELECT department FROM employees WHERE first_name = 'Jessica' AND last_name = 'Butcher' AND department = 100);
Answer: C. एक से अधिक उप-क्वेरी को एक से अधिक शर्त जोड़ने के लिए एक एसक्यूएल स्टेटमेंट में लिखा जा सकता है।
20.Based on the answers for questions 18th and 19th, what type of sub-queries is used by them?
- एकल पंक्ति उप-क्वेरी
- एकाधिक पंक्ति उप-क्वेरी
- A और B दोनों
- इनलाइन सब-क्वेरी
Answer: A. ऊपर दिए गए प्रश्न 18 वें और 19 वें एक चयन कथन में उपयोग उप-प्रश्नों को प्रदर्शित करते हैं।
21.Consider two statements about outer and inner queries in context of SQL sub-queries?
मैं। आंतरिक क्वेरी केवल एक तालिका से डेटा प्राप्त कर सकते हैं
ii। आंतरिक क्वेरीज़ एक से अधिक तालिका से डेटा प्राप्त कर सकती हैं
उपरोक्त कथनों में से कौन सा सत्य है?
- (i)
- (ii)
- दोनों (i) और (ii)
- न तो (i) और न ही (ii)
Answer: B. उप-प्रश्न एक से अधिक तालिका से डेटा प्राप्त कर सकते हैं।
Examine the table structure as follows and answer the questions 22 to 27 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
22.What will be the outcome of the following query? (Choose the most appropriate answer)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT last_name, job_id, salary
FROM employees
WHERE salary = (SELECT max(salary)
FROM employees);
- यह सफलतापूर्वक निष्पादित होता है और उन कर्मचारियों को देता है जिनके पास वेतन अधिकतम वेतन के बराबर है।
- यह सफलतापूर्वक निष्पादित होता है लेकिन आवश्यक परिणाम नहीं देता है
- यह उप-क्वेरी में एक समूह फ़ंक्शन के रूप में एक त्रुटि फेंकता है
- यह एक त्रुटि को फेंकता है क्योंकि एकल पंक्ति उप-क्वेरी में बहु-पंक्ति ऑपरेटर होना चाहिए
Answer: A. एक समूह फ़ंक्शन का उपयोग उप-क्वेरी के भीतर किया जा सकता है।
23.What will be the outcome of the query that follows?
SELECT first_name, last_name, min(salary)
FROM employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT min(salary)
FROM employees
WHERE department_id = 100);
- यह सफलतापूर्वक निष्पादित होता है और सभी कर्मचारियों के विभाग 100 से अधिक नाम और न्यूनतम वेतन देता है
- यह सफलतापूर्वक निष्पादित होता है और विभाग 100 में कर्मचारियों का वेतन देता है
- यह सफलतापूर्वक निष्पादित होता है और सभी कर्मचारियों के नाम और न्यूनतम वेतन देता है।
- यह एक त्रुटि फेंकता है।
Answer: A. दिखाए गए अनुसार उप-प्रश्नों में HAVING क्लॉज का उपयोग किया जा सकता है
24.You need to find the job which has a maximum average salary.Which of the following queries will give you the required results?
SELECT job_id, avg(salary) FROM employees GROUP BY job_id;
SELECT job_id, avg(salary) FROM employees GROUP BY job_id HAVING job_id in (SELECT max(avg(salary) FROM employees);
SELECT job_id, avg(salary) FROM employees GROUP BY job_id HAVING max(avg(salary) in (SELECT max(avg(salary) FROM employees);
SELECT job_id, avg(salary) FROM employees GROUP BY job_id HAVING avg(salary) in (SELECT max(avg(salary) FROM employees GROUP BY job_id);
Answer: D. उप-क्वेरीज़ समूह को प्रतिबंधित करने के लिए समूह फ़ंक्शंस और HAVING क्लॉज़ का उपयोग कर सकती हैं।
25.The following query throws an error. Choose the correct reason for the error as given in the options.
SELECT first_name, last_name
FROM employees
WHERE commission_pct = (SELECT min(commission_pct )
FROM employees
GROUP BY department_id);
- सब-क्वेरी में GROUP BY क्लॉज़ की आवश्यकता नहीं है
- किसी फ़ंक्शन का उपयोग उप-क्वेरी चयन कथन में नहीं किया जा सकता है
- एकल पंक्ति उप-क्वेरी कई रिकॉर्ड देती है
- "=" ऑपरेटर का उपयोग अमान्य है; एक ऑपरेटर सही ढंग से काम करेगा
Answer: C, D. ग्रुप बीओ क्लॉज प्रत्येक विभाग के लिए न्यूनतम कमीशन_पैक्ट देता है और इसलिए कई परिणाम एक त्रुटि देते हुए मुख्य प्रश्न के लिए लाए जाते हैं।
26.Consider the query given below.How many records will be returned as a result of the above query? (Assuming the no employee with job id XX exists in the company)
SELECT first_name, last_name
FROM employees
WHERE salary = (SELECT salary
FROM employees
WHERE job_id = 'XX');
- 1
- NULL
- 0
- क्वेरी ORA त्रुटि उठाती है क्योंकि उप-क्वेरी अमान्य है।
Answer: C. चूंकि कंपनी में job_id "XX" के साथ कोई कर्मचारी नहीं है, इसलिए उप-क्वेरी कोई परिणाम नहीं देती है, जो मुख्य क्वेरी में job_id के बराबर होने पर 0 देता है।
27.What happens if the WHERE condition in the query given in question 26 is replaced with a new one (WHERE job_id IS NOT NULL)? (Assume the number of records in 'employees' table is 14).
- 1
- 14
- 0
- ORA त्रुटि
Answer: D. क्वेरी निष्पादन "ORA-01427: एकल-पंक्ति सबक्वेरी एक से अधिक पंक्ति देता है" अपवाद को उठाता है।
28.Which of the following are valid multi row operators used for sub-queries?
- <=
- कोई> =
- !=
- >=
Answer: B. एकाधिक-पंक्ति सबक्वेरी परिणाम की एक से अधिक पंक्ति में लौटती हैं। कई-पंक्ति उप-श्रेणियों के साथ उपयोग किए जा सकने वाले सर्वरों में IN, ALL, Any, और EXISTS शामिल हैं। बहु पंक्ति ऑपरेटर IN, किसी भी, सभी को एकल पंक्ति ऑपरेटरों के साथ उपयोग किया जाना चाहिए विकल्प बी में।
Examine the table structure as given. Consider the query given below and answer the questions 29 to 33 that follow
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT first_name, last_name, salary, commission_pct
FROM employees
WHERE salary < ANY (SELECT salary
FROM employees
WHERE department_id = 100)
AND department_id <> 101;
29.What does the ANY operator evaluates to in the above query?
- TRUE
- FALSE
- NULL
- 0
Answer: A. मल्टी रो ऑपरेटर बूलियन परिणाम लौटाते हैं। चूंकि विभाग में वेतन के परिणाम 100 हैं, इसलिए यह TRUE लौटाता है। यदि 0 परिणाम हैं, तो यह FALSE का मूल्यांकन करता है।
30.What will be the outcome of the query if we assume that the department 100 has only one employee?
- यह सफलतापूर्वक एक परिणाम दे रहा है
- यह सभी कर्मचारियों के वेतन को सफलतापूर्वक दे रहा है
- NULL
- यह एक ORA त्रुटि फेंकता है
Answer: D. यदि विभाग 100 में एक परिणाम (एकल पंक्ति उप-क्वेरी) है, तो <कोई भी ऑपरेटर त्रुटि देता है क्योंकि यह एक बहु-पंक्ति ऑपरेटर है।
31.What will be the outcome of the query given above if the < ANY operator is replaced with = ANY operator?
- ओरेकल उप-क्वेरी से लौटाए गए वेतन के प्रत्येक मूल्य का इलाज करेगा जैसा कि यह ऑपरेटर के साथ करता है
- परिणामों में कोई अंतर नहीं होगा
- परिणाम अलग-अलग होंगे
- निष्पादन एक ORA त्रुटि को फेंक देगा
Answer: A. = कोई भी ऑपरेटर IN ऑपरेटर के बराबर है।
32.What can be said about the < ANY operator in the query given above?
- यह वेतन का अधिकतम मूल्य देता है
- यह वेतन का न्यूनतम मूल्य देता है
- इसका मतलब है कि यह उन मूल्यों को देता है जो उच्चतम से कम हैं
- इनमे से कोई भी नहीं
Answer: C. मल्टी रो ऑपरेटर <कोई भी सबक्वेरी के "अधिकतम से कम" कथनों का मूल्यांकन करता है। '> ALL' सबक्वेरी द्वारा लौटाए गए उच्चतम मूल्य से अधिक। '<ALL' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से कम है। '<कोई' सबसे अधिक मूल्य से कम उपकुंजी द्वारा लौटाया गया है। '<कोई' सबक्वेरी द्वारा लौटाए गए सबसे कम मूल्य से अधिक है। '=' कोई भी 'किसी भी मान के अधीन के समान लौटाता है (उसी में)। '[नहीं] EXISTS' रो उपकुंजी में एक मूल्य से मेल खाना चाहिए
33.Assume that the < ANY operator is replaced with the > ANY. What is true about this operator?
- यह अधिकतम वेतन देता है
- यह उप-क्वेरी से केवल अधिकतम वेतन पाता है
- यह न्यूनतम वेतन से अधिक देता है
- यह न्यूनतम वेतन देता है
Answer: C. मल्टी रो ऑपरेटर> कोई भी सबक्वेरी के "ग्रेटर मिनिमम" से कथनों का मूल्यांकन करता है। '> ALL' सबक्वेरी द्वारा लौटाए गए उच्चतम मूल्य से अधिक। '<ALL' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से कम है। '<कोई' सबसे अधिक मूल्य से कम उपकुंजी द्वारा लौटाया गया है। '> कोई' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से अधिक। '=' कोई भी 'किसी भी मान के अधीन के समान लौटाता है (उसी में)। '[नहीं] EXISTS' रो उपकुंजी में एक मूल्य से मेल खाना चाहिए
34. Examine the given table structure and consider the following query:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id, first_name, last_name
FROM employees
WHERE salary IN (SELECT max(salary)
FROM employees
GROUP BY department_id );
निम्नलिखित में से कौन सा खंड ऊपर दिए गए प्रश्न के अनुसार दिया गया है? (मान लें कि वेतन 2500, 3000, 3500,4000)
WHERE salary < ANY (SELECT max(salary) FROM employees GROUP BY department_id );
WHERE salary < ALL (SELECT max(salary) FROM employees GROUP BY department_id );
WHERE salary = (SELECT max(salary) FROM employees GROUP BY department_id );
WHERE salary IN (2500,3000,3500,4000);
Answer: D. जब IN ऑपरेटर का उपयोग किया जाता है, तो Oracle उप-क्वेरी के अलग-अलग परिणामों का इलाज करता है जैसा कि विकल्प D में दिखाया गया है।
Examine the structure of the EMPLOYEES table as given below and answer the questions 35 to 37 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
35. You need to find out which of the employees have a salary less than that of the salary for the job ID 'FIN_ACT'. Which of the following queries will give you the required output?
SELECT employee_id, first_name, last_name FROM employees WHERE salary < ALL (SELECT salary FROM employees WHERE job_id = 'FIN_ACT') AND job_id <> 'FIN_ACT';
SELECT employee_id, first_name, last_name FROM employees WHERE salary > ALL (SELECT salary FROM employees WHERE job_id = 'FIN_ACT') AND job_id <> 'FIN_ACT';
SELECT employee_id, first_name, last_name FROM employees WHERE salary < ANY (SELECT salary FROM employees WHERE job_id = 'FIN_ACT') AND job_id <> 'FIN_ACT';
SELECT employee_id, first_name, last_name FROM employees WHERE salary = (SELECT salary FROM employees WHERE job_id = 'FIN_ACT') AND job_id <> 'FIN_ACT';
Answer: A. <सभी का मतलब न्यूनतम से कम है। '> ALL' सबक्वेरी द्वारा लौटाए गए उच्चतम मूल्य से अधिक। '<ALL' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से कम है। '<कोई' सबसे अधिक मूल्य से कम उपकुंजी द्वारा लौटाया गया है। '> कोई' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से अधिक। '=' कोई भी 'किसी भी मान के अधीन के समान लौटाता है (उसी में)। '[नहीं] EXISTS' रो उपकुंजी में एक मूल्य से मेल खाना चाहिए
36.What will be the outcome of the above query (the option A in the question above), if the < ALL is replaced with the >ALL?
- यह उसी परिणाम को सफलतापूर्वक देने पर अमल करेगा।
- यह एक ORA त्रुटि फेंक देगा
- यह सफलतापूर्वक क्रियान्वित करेगा लेकिन उन कर्मचारियों का विवरण देगा, जिनके पास सभी कर्मचारियों की तुलना में नौकरी से कम वेतन है। 'FI_ACCOUNTANT'।
- इनमे से कोई भी नहीं
Answer: C. > सभी का मतलब न्यूनतम से कम है। '> ALL' सबक्वेरी द्वारा लौटाए गए उच्चतम मूल्य से अधिक। '<ALL' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से कम है। '<कोई' सबसे अधिक मूल्य से कम उपकुंजी द्वारा लौटाया गया है। '> कोई' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से अधिक। '=' कोई भी 'किसी भी मान के अधीन के समान लौटाता है (उसी में)। '[नहीं] EXISTS' रो उपकुंजी में एक मूल्य से मेल खाना चाहिए
37.You need to find the salaries for all employees who are not in the department 100. Which of the following queries will give you the required result?
-
SELECT employee_id, first_name, last_name FROM employees WHERE salary !=ALL (SELECT salary FROM employees WHERE department_id = 100) AND department_id <> 100;
SELECT employee_id, first_name, last_name FROM employees WHERE salary NOT IN (SELECT salary FROM employees WHERE department_id = 100) AND department_id <> 100;
SELECT employee_id, first_name, last_name FROM employees WHERE salary NOT ALL (SELECT salary FROM employees WHERE department_id = 100) AND department_id <> 100;
SELECT employee_id, first_name, last_name FROM employees WHERE salary != (SELECT salary FROM employees WHERE department_id = 100) AND department_id <> 100;
Answer: C. बहु पंक्ति ऑपरेटरों के साथ, किसी भी और सभी में इस्तेमाल नहीं किया जा सकता है।
तालिका संरचना की जाँच करें जैसा कि दिया गया है। निम्नलिखित क्वेरी पर विचार करें और उन प्रश्नों का उत्तर दें जो 38 और 39 का अनुसरण करते हैं। आपको उन कर्मचारियों को खोजने की आवश्यकता है जिनके पास एक अधीनस्थ रिपोर्टिंग नहीं है। (मान लें कि 0 अपेक्षित परिणाम हैं)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT first_name, last_name
FROM employees
WHERE employee_id NOT IN
(SELECT manager_id
FROM employees);
38.What will be the result of the query given above?
- 10
- NULL
- ORA त्रुटि
- 0
Answer: D. आंतरिक उप-क्वेरी में एक मान NULL है (सभी कर्मचारी प्रबंधक नहीं हैं!)
39.Which of the following WHERE clauses should be added / modified to the above query to give the expected results?
WHERE employee_id != (SELECT manager_id FROM employees);
WHERE employee_id IN (SELECT manager_id FROM employees);
WHERE employee_id <>ALL (SELECT manager_id FROM employees);
WHERE employee_id NOT IN (SELECT manager_id FROM employees WHERE manager_id is NOT NULL);
Answer: B, D. यदि उप-क्वेरी में NULL मान होने की संभावना है, तो NOT ऑपरेटर का उपयोग न करें या यदि उपयोग कर रहे हैं, तो अतिरिक्त क्वेरी को अतिरिक्त WHERE क्लॉज (विकल्प D) के साथ संशोधित करें
40.What is true about sub-queries in general?
- उप-प्रश्नों को मुख्य प्रश्नों से अलग निष्पादित किया जाना है
- उप-क्वेरी को उपयोगकर्ता की इच्छा पर निष्पादित किया जा सकता है, वे मुख्य क्वेरी निष्पादन से संबंधित नहीं हैं
- उप-क्वेरी दो अनुक्रमिक प्रश्नों के बराबर हैं जहां मुख्य क्वेरी द्वारा आंतरिक क्वेरी के परिणाम का उपयोग किया जाता है
- ऊपर के सभी
Answer: C.
41. Which of the following is true about sub-queries?
- एक उप-क्वेरी 0 या अधिक पंक्तियों को वापस कर सकती है
- एक उप-क्वेरी का उपयोग केवल चयन खंड में किया जा सकता है
- उप-प्रश्नों का नेस्टिंग 2 स्तरों तक सीमित है
- उप-प्रश्नों में समूह कार्यों का उपयोग नहीं किया जा सकता है
Answer: A. एक उपश्रेणी एक पूर्ण क्वेरी है जो किसी अन्य क्वेरी के SELECT, FROM, HAVING, या WHASS क्लॉज में निहित है। उपश्रेणी को कोष्ठकों में संलग्न किया जाना चाहिए और एक चयन और एक से कम से कम एक खंड होना चाहिए। एक एकल-पंक्ति उपकुंजी अधिकतम एक मान लौटा सकती है। मल्टीपल-कॉलम सबक्वेरीज़ बाहरी क्वेरी के लिए एक से अधिक कॉलम लौटाती हैं।
42. Examine the table structure as given.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
निम्नलिखित प्रश्न पर विचार करें।
SELECT first_name, last_name
FROM employees
WHERE employee_id NOT IN
(SELECT manager_id, hire_date
FROM employees
WHERE manager_id is not null);
यह क्वेरी त्रुटि देता है। त्रुटि का कारण क्या है?
- नॉट इन ऑपरेटर का उपयोग अमान्य है
- जहां उप-क्वेरी में क्लॉज गलत लिखा गया है
- उप-क्वेरी का चयन करें खंड में कॉलम केवल एक होना चाहिए जब मुख्य क्वेरी में उपयोग की गई असमानता हो
- उप-क्वेरी मुख्य क्वेरी के समान तालिका का उपयोग करती है
Answer: C. उप-क्वेरी में चयनित कॉलम तुलना ऑपरेटर के दूसरी तरफ के समान होना चाहिए। डेटा प्रकार या स्तंभों की संख्या की किसी भी असमानता के परिणामस्वरूप ORA त्रुटि होगी।
43.A report has to be extracted which displays all the departments that have one or more employees assigned to them. Which of the following queries will give the required output? (Consider the table structure as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT department_name FROM employees WHERE department_id IN (SELECT distinct (department_id ) FROM employees);
SELECT department_name FROM employees WHERE department_id ANY (SELECT distinct (department_id ) FROM employees);
SELECT department_name FROM employees WHERE department_id < ANY (SELECT distinct (department_id ) FROM employees);
SELECT department_name FROM employees WHERE department_id = ANY (SELECT distinct (department_id ) FROM employees);
Answer: A, D.
44.What is the maximum level of sub-queries allowed in Oracle in a single SQL statement?
- 20
- 50
- Unlimited
- 255
Answer: D. Oracle प्रश्नों के Nesting का समर्थन 255 स्तरों पर करता है।
45. What should be the best practice to follow when we know what values we need to pass on to the main query in Oracle queries?
- ग्रुप बाय का उपयोग करना
- उप-प्रश्नों का उपयोग करना
- HAVING का उपयोग करना
- इनमे से कोई भी नहीं
Answer: D. यह संभव हो सकता है कि उप-प्रश्न एक पूर्ण परिणाम देते हैं, जिसके परिणामस्वरूप मुख्य परिणाम में 0 पंक्तियाँ होती हैं; इसलिए उनका उपयोग करना एक अच्छा अभ्यास है यदि हम जानते हैं कि हमें किन मूल्यों की आवश्यकता है।
Examine the table structure as given. Consider the following query and answer the questions 46 and 47 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id, first_name, last_name, job_id
FROM employees
WHERE job_id = (SELECT job_id FROM employees);
46.You need to find all the employees whose job ID is the same as that of an employee with ID as 210. Which of the following WHERE clauses would you add / modify to achieve this result? (Consider the table structure as given
WHERE job_id = (SELECT job_id FROM employees WHERE employee_id = 210);
WHERE job_id IN (SELECT job_id FROM employees WHERE employee_id = 210);
WHERE job_id > (SELECT job_id FROM employees WHERE employee_id = 210);
WHERE job_id >= (SELECT job_id FROM employees WHERE employee_id = 210);
Answer: A.
47.Assume that you change the WHERE clause as given in the option A in question 46 as the following.
WHERE job_id = (SELECT job_id FROM employees WHERE employee_id < 210);
इस परिवर्तन के परिणाम क्या होंगे?
- परिणाम वही होंगे
- ओआरए त्रुटि निष्पादन पर फेंक दी गई
- परिणाम अलग-अलग होंगे
- क्वेरी 0 पंक्तियों को सफलतापूर्वक दे रही है।
Answer: B. उप-क्वेरी दिए गए परिवर्तन पर एक से अधिक परिणाम देती है और इसलिए एक बहु पंक्ति ऑपरेटर को ऊपर दिए गए मुख्य प्रश्न में "=" को बदलना चाहिए।
48.Examine the table structures as shown in the exhibit below.
आपको उन कर्मचारियों के नाम प्रदर्शित करने की आवश्यकता है जिनके पास सबसे अधिक वेतन है। निम्नलिखित में से कौन सा SQL कथन सही होगा?
SELECT first_name, last_name, grade FROM employees, grade WHERE (SELECT max (salary) FROM employees) BETWEEN losal and hisal;
SELECT first_name, last_name, grade FROM employees, grade WHERE (SELECT max (salary) FROM employees) BETWEEN losal and hisal AND salary BETWEEN losal and hisal;
SELECT first_name, last_name, grade FROM employees, grade WHERE salary = (SELECT max (salary) FROM employees) AND salary BETWEEN losal and hisal;
SELECT first_name, last_name, grade FROM employees, grade WHERE salary IN (SELECT max (salary) FROM employees) AND max(salary) BETWEEN losal and hisal;
Answer: B, C. उप-प्रश्नों को ऑपरेटर के दोनों ओर लिखा जा सकता है
49.What is the sub-query in the FROM clause of an SQL statement? (Choose the most appropriate answer)
- एकल पंक्ति उप-क्वेरी
- बहु पंक्ति उप-क्वेरी
- इनलाइन दृश्य
- सह-संबंधित उप-क्वेरी
Answer: C. यदि सेलेक्ट स्टेटमेंट्स के FROM क्लॉज में एक सब-क्वेरी दिखाई देती है, तो यह एक इनलाइन व्यू बनाती है। Oracle आंतरिक रूप से क्वेरी निष्पादन के लिए एक अस्थायी दृश्य बनाता है।
50.What is the maximum number of nesting level allowed in an Inline View type sub-query?
- 255
- 300
- 216
- Unlimited
Answer: D. चूंकि तालिकाओं की संख्या की कोई सीमा नहीं है, जिसमें शामिल हो सकते हैं, क्वेरी में इनलाइन दृश्य की संख्या पर कोई सीमा नहीं है।
51.What is true about co-related sub-queries?
- मुख्य क्वेरी में उपयोग की गई तालिकाओं का उपयोग सह-संबंधित उप-क्वेरी में भी किया जाता है
- मुख्य क्वेरी में उपयोग किए जाने वाले कॉलम को संदर्भित करने वाले उप-प्रश्नों को सह-संबंधित उप-प्रश्न कहा जाता है
- कोष्ठक के बिना लिखे गए उप-प्रश्नों को सह-संबंधित उप-प्रश्न कहा जाता है
- उप-प्रश्न जो अनिवार्य रूप से मुख्य क्वेरी में उपयोग किए गए से अलग तालिकाओं का उपयोग करते हैं, उन्हें सह-संबंधित उप-प्रश्न कहा जाता है
Answer: B. सहसंबद्ध सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में हर पंक्ति के लिए एक बार सबक्वेरी को निष्पादित करता है जबकि असंबंधित सबक्वेरी पहले सबक्वेरी को निष्पादित करता है और बाहरी क्वेरी को मान पास करता है।
52.Which of the following statements cannot be parent statements for a sub-query?
- SELECT
- समूह द्वारा
- UPDATE
- DELETE
Answer: B. बाकी विकल्प उप-क्वेरी के मुख्य प्रश्न (मूल प्रश्न) में हो सकते हैं।
53.What is true about a co-related sub-query?
- इसका मूल्यांकन केवल एक बार मूल प्रश्न के लिए किया जाता है
- इसका मूल्यांकन केवल तीन बार मूल प्रश्न के लिए किया जाता है
- मूल उप-क्वेरी द्वारा संसाधित प्रत्येक पंक्ति के लिए एक बार इसका मूल्यांकन किया जाता है
- ऊपर के सभी
Answer: C. संबंधित सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार सबक्वेरी निष्पादित करता है, और EXISTS ऑपरेटर का उपयोग यह परीक्षण करने के लिए किया जाता है कि संबंध या लिंक मौजूद है या नहीं।
54.Examine the given table structure. You need to write a query which returns the names of the employees whose salaries exceed their respective department's average salary. Which of the following will work? (Choose the most appropriate answer)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id, first_name, last_name FROM employees e WHERE salary > (SELECT avg (salary) FROM employees WHERE e.department_id = department_id ) ORDER BY department_id ;
SELECT employee_id, first_name, last_name FROM employees e WHERE salary > ANY (SELECT avg(salary) FROM employees WHERE e.department_id = department_id ) ORDER BY department_id ;
SELECT employee_id, first_name, last_name FROM employees e WHERE salary = (SELECT avg(salary) FROM employees WHERE e.department_id = department_id ) ORDER BY department_id ;
SELECT employee_id, first_name, last_name FROM employees e WHERE salary < ANY (SELECT avg(salary) FROM employees WHERE e.department_id = department_id ) ORDER BY department_id ;
Answer: A. यहां विभाग आईडी प्राप्त की जाती है, जिसका उपयोग मूल क्वेरी के मूल्यांकन के लिए किया जाता है और यदि उस पंक्ति में वेतन उस पंक्ति के विभागों के औसत वेतन से अधिक है, तो वह परिणाम वापस आ जाता है।
55.Examine the given table structure. Which of the following queries will display duplicate records in a table EMPLOYEES?
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT * FROM employees E WHERE exists (SELECT 1 FROM employees E1 WHERE E.employee_id = E1.employee_id);
SELECT * FROM employees E WHERE exists (SELECT 1 FROM employees E1 WHERE E.employee_id = E1.employee_id AND E.ROWID < E1.ROWID);
SELECT * FROM employees E WHERE exists (SELECT 1 FROM employees E1 WHERE E.ROWID < E1.ROWID);
SELECT * FROM employees E WHERE = ANY (SELECT 1 FROM employees E1 WHERE E.employee_id = E1.employee_id And E.ROWID < E1.ROWID);
Answer: A. संबंधित सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार सबक्वेरी निष्पादित करता है, और EXISTS ऑपरेटर का उपयोग यह परीक्षण करने के लिए किया जाता है कि संबंध या लिंक मौजूद है या नहीं। इसका उपयोग डुप्लिकेट पंक्तियों को एक तालिका में खोजने के लिए किया जा सकता है जहां डुप्लिकेटिटी को कॉलम या सेट के स्तंभ के अधीन किया जाता है।
Examine the structures for the tables DEPARTMENTS and EMPLOYEES and answer the questions 56 and 57 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
56.Which of the following queries will display the system date and count of records in the DEPARTMENTS and EMPLOYEES table?
SELECT sysdate, (SELECT * FROM departments) dept_count, (SELECT * FROM employees) emp_count FROM DUAL;
SELECT sysdate, (SELECT count(*) FROM departments) dept_count, (SELECT count(*) FROM employees) emp_count FROM DUAL GROUP BY department_id ;
SELECT sysdate, (SELECT * FROM departments) dept_count, (SELECT * FROM employees) emp_count FROM DUAL GROUP BY employee_id;
SELECT sysdate, (SELECT count(*) FROM departments) dept_count, (SELECT count(*) FROM employees) emp_count FROM DUAL;
Answer: D. बाहरी क्वेरी के चयन खंड में एक एकल-पंक्ति उपकुंजी को भी नेस्ट किया जा सकता है। इस मामले में, आउटपुट की हर पंक्ति के लिए सबक्वेरी रिटर्न उपलब्ध है, जो बाहरी क्वेरी उत्पन्न करता है। आमतौर पर, इस तकनीक का उपयोग उपकेंद्र से उत्पन्न मूल्य के साथ गणना करने के लिए किया जाता है।
57.Which of the following queries will tell whether a given employee is a manager in a Company 'XYZ'?
SELECT employee_id, manager_id FROM employees A WHERE employee_id ANY (SELECT manager_id from employees B) ORDER BY manager_id desc;
SELECT employee_id, manager_id FROM employees A WHERE employee_id < ALL (SELECT manager_id from employees B)
SELECT employee_id, manager_id FROM employees A WHERE employee_id IN (SELECT manager_id from employees B) ORDER BY manager_id desc;
SELECT employee_id, manager_id FROM employees A WHERE employee_id in (SELECT manager_id from employees B) GROUP BY department_id ;
Answer: C.
Examine the exhibit and answer the question 58 that follows:
58.Which of the following queries will give you maximum salary of an employee in a particular city?
SELECT max (salary), city FROM (SELECT salary, department_id , loc, city FROM employees natural join departments natural join locations);
SELECT salary, city FROM (SELECT salary, department_id , loc, city FROM employees natural join departments natural join locations);
SELECT max (salary), city FROM (SELECT salary, department_id , loc, city FROM employees natural join departments natural join locations) GROUP BY city;
SELECT max (avg(salary)), city FROM (SELECT salary, department_id , loc, city FROM employees natural join departments natural join locations);
Answer: C. जब बाहरी क्वेरी के FROM क्लॉज में मल्टीपल-कॉलम सबक्वेरी का उपयोग किया जाता है, तो यह एक अस्थायी तालिका बनाता है जिसे बाहरी क्वेरी के अन्य क्लॉज द्वारा संदर्भित किया जा सकता है। इस अस्थायी तालिका को औपचारिक रूप से इनलाइन दृश्य कहा जाता है। सबक्वेरी के परिणामों को FROM क्लॉज में किसी अन्य तालिका की तरह माना जाता है। यदि अस्थायी तालिका में समूहीकृत डेटा होता है, तो समूहीकृत सबसेट को तालिका में डेटा की अलग-अलग पंक्तियों के रूप में माना जाता है।
Examine the table structures as given below.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
निम्नलिखित प्रश्न पर विचार करें और उन प्रश्नों का उत्तर दें जो 59 से 62 हैं।
SELECT department_name
FROM departments d INNER JOIN employees e
ON (d.employee_id = e.employee_id)
GROUP BY department_name;
59.Which of the following queries can replace the above query by using sub-queries giving the same result?
SELECT department_name FROM departments WHERE department_id = ANY (SELECT department_id FROM employees);
SELECT department_name FROM departments WHERE department_id IN (SELECT distinct(department_id ) FROM employees);
SELECT department_name FROM departments WHERE department_id = (SELECT distinct(department_id ) FROM employees);
SELECT department_name FROM departments WHERE department_id ANY (SELECT distinct(department_id ) FROM employees);
Answer: A, B.
60.Assume that the sub-query as shown in the query given above is modified to the following.
(SELECT distinct (department_id ) FROM employees ORDER BY department_id );
इस परिवर्तन के परिणामस्वरूप परिणाम क्या होगा? (सबसे उपयुक्त उत्तर चुनें)
- यह उप-क्वेरी से प्राप्त किए गए विभाग_ को आदेश देगा और उन्हें आरोही क्रम में प्रदर्शित करेगा
- यह ORA एरर को फेंक देगा क्योंकि ORDER BY क्लॉज को ग्रुप BY क्लॉज के साथ होना चाहिए
- यह एक ORA त्रुटि को फेंक देगा क्योंकि एक ORDER BY क्लॉज का उपयोग उप-क्वेरी के अंदर नहीं किया जा सकता है
- यह सफलतापूर्वक निष्पादित होगा।
Answer: C. एक उपश्रेणी, FROM क्लॉज में से एक को छोड़कर, क्लाज द्वारा ORDER नहीं हो सकता है। यदि आपको किसी विशिष्ट क्रम में आउटपुट प्रदर्शित करने की आवश्यकता है, तो बाहरी क्वेरी के अंतिम खंड के रूप में ORDER BY क्लॉज शामिल करें।
61.Assume that the query given above is modified as the below one.
SELECT department_name
FROM departments
WHERE department_id = ANY (SELECT department_id FROM employees)
ORDER BY department_id desc;
इस परिवर्तन के परिणामस्वरूप परिणाम क्या होगा? (सबसे उपयुक्त उत्तर चुनें)
- यह उप-क्वेरी से प्राप्त किए गए विभाग_ को आदेश देगा और उन्हें आरोही क्रम में प्रदर्शित करेगा
- यह उप-क्वेरी से प्राप्त किए गए विभाग_ को आदेश देगा और उन्हें अवरोही क्रम में प्रदर्शित करेगा
- यह एक ORA त्रुटि को फेंक देगा क्योंकि एक ORDER BY क्लॉज का उपयोग उप-क्वेरी के अंदर नहीं किया जा सकता है
- इनमे से कोई भी नहीं
Answer: D. एक उपश्रेणी, FROM क्लॉज में से एक को छोड़कर, क्लाज द्वारा ORDER नहीं हो सकता है। यदि आपको किसी विशिष्ट क्रम में आउटपुट प्रदर्शित करने की आवश्यकता है, तो बाहरी क्वेरी के अंतिम खंड के रूप में ORDER BY क्लॉज शामिल करें।
62.Which of the following can be used to order results in a sub-query?
- द्वारा आदेश
- HAVING
- समूह द्वारा
- ऊपर के सभी
Answer: C. डिफ़ॉल्ट रूप से, ग्रुप बाय क्लॉज एक उप-क्वेरी में ऑर्डर करता है।
Examine the exhibit below and answer the questions 63 to 65 that follow:
निम्नलिखित प्रश्न पर विचार करें:
SELECT au_id, au_title
FROM audit
WHERE au_details in (SELECT au_details
FROM audit
WHERE au_title like 'S%')
ORDER BY au_title;
63.What will be the outcome of the query given above?
- यह सभी AU_ID और AU_TITLE को 'S%' अक्षर से शुरू करता है
- यह सभी AU_ID और AU_TITLE को आरोही क्रम में शीर्षकों द्वारा आदेशित 'S%' अक्षर से शुरू करता है
- यह एक ORA त्रुटि फेंकता है
- यह 0 मान लौटाता है
Answer: C. CLOB, BLOB, NCLOB या ARRAY वाले कॉलम का उपयोग उप-क्वेरी में नहीं किया जा सकता है।
64. What will be the outcome of the following query?
SELECT *
FROM employees
WHERE salary BETWEEN (SELECT max(salary)
FROM employees
WHERE department_id = 100)
AND (SELECT min(salary) FROM employees where department_id = 100);
यह क्वेरी त्रुटि देता है। त्रुटि का कारण क्या है?
- MAX द्वारा फ़ंक्शन के रूप में एक ग्रुप BY क्लॉज का उपयोग किया जाना चाहिए
- दोनों उप-प्रश्न एक ही बाहरी क्वेरी में समान विभाग आईडी का उपयोग नहीं कर सकते हैं
- BETWEEN ऑपरेटर का उपयोग उप-क्वेरी के साथ नहीं किया जा सकता है
- चयनित खंड में स्तंभों का उल्लेख होना चाहिए, न कि तारांकन (*)
Answer: C. BETWEEN ऑपरेटर का उपयोग उप-क्वेरी के भीतर किया जा सकता है लेकिन उप-क्वेरी के साथ नहीं।
65.What is true about using NOT IN when writing queries with sub-queries in them?
- नहीं सभी पूर्ण मानों को अनदेखा करता है और केवल पूर्ण मानों को नहीं देता है
- NOT IN सभी NULL मानों को अंतिम स्थान पर रखता है और NOT NULL को पहले प्रदर्शित करने के लिए देता है
- यदि परिणाम सेट में NULL मान अपेक्षित नहीं है, तो IN का उपयोग नहीं किया जाना चाहिए
- IN IN केवल ऑपरेटर IN का निषेध नहीं है और इसे बिना किसी चेतावनी के बदला जा सकता है।
Answer: C. SQL NULL मानों को एक अलग तरीके से संभालता है और इसलिए यदि परिणाम सेट में NULL शामिल हो सकता है तो Not IN से बचना एक अच्छा अभ्यास है।
Consider the following table structures and answer the questions 66 to 72 that follow:
66. You need to find out the names and IDs of the departments in which the least salary is greater than the highest salary in the department 10. Which of the following queries will give the required result.
SELECT department_id , min(salary) FROM employees GROUP BY department_id HAVING min(salary) > ( select max(salary) FROM employees where department_id = 10 )
SELECT department_id , min(salary) FROM employees GROUP BY department_id HAVING min(salary) > ANY ( select max(salary) FROM employees )
SELECT department_id , min(salary) FROM employees HAVING max(salary) < ANY ( select min(salary) FROM employees where department_id = 10 )
SELECT department_id , min(salary) FROM employees GROUP BY department_id HAVING min(salary) > ALL ( select max(salary) FROM employees where department_id = 10 )
Answer: A.
67.Write a query to find the employees whose salary is equal to the salary of at least one employee in department of id 10. (Choose the best answer)
SELECT employee_id, Salary FROM employees WHERE salary in ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary =ANY ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary ALL ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary < ANY ( SELECT salary FROM employees where department_id = 10 )
Answer: A, B.
68.You need to find out all the employees who have salary greater than at least one employee in the department 10. Which of the following queries will give you the required output?
SELECT employee_id, Salary FROM employees WHERE salary >= ANY ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary > ANY ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary < ANY ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary = ALL ( SELECT salary FROM employees where department_id = 10 )
Answer: B.
69.You need to find out all the employees who have salary lesser than the salary of all the employees in the department 10. Which of the following queries will give you the required output?
SELECT employee_id, Salary FROM employees WHERE salary > ALL ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary =ALL ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary < ALL ( SELECT salary FROM employees where department_id = 10 )
SELECT employee_id, Salary FROM employees WHERE salary < ANY ( SELECT salary FROM employees where department_id = 10 )
Answer: C. एकाधिक-पंक्ति उपश्रेणियाँ परिणामों की एक से अधिक पंक्ति लौटाती हैं। कई-पंक्ति उप-श्रेणियों के साथ उपयोग किए जा सकने वाले ऑपरेटर्स में IN, ALL, Any, और EXISTS.Multiple-column उपकथाएँ एक से अधिक कॉलम बाहरी क्वेरी में वापस आती हैं। डेटा के कॉलम बाहरी क्वेरी को उसी क्रम में पास किए जाते हैं, जिसमें वे सबक्वेरी के SELECT क्लॉज में सूचीबद्ध होते हैं।
70.You need to find out all the employees who have their manager and department matching with the employee having an Employee ID of 121 or 200. Which of the following queries will give you the required output?
SELECT employee_id, manager_id,department_id FROM employees WHERE (manager_id,department_id ) = ANY ( select manager_id, department_id FROM employees where employee_id in (121,200) )
SELECT employee_id, manager_id,department_id FROM employees WHERE (manager_id,department_id ) < ANY ( select manager_id, department_id FROM employees where employee_id in (121,200) )
SELECT employee_id, manager_id,department_id FROM employees WHERE (manager_id,department_id ) > ANY ( select manager_id, department_id FROM employees where employee_id in (121,200) )
SELECT employee_id, manager_id,department_id FROM employees WHERE (manager_id,department_id ) in ( select manager_id, department_id FROM employees where employee_id in (121,200) )
Answer: A, D. एकाधिक-पंक्ति उपश्रेणियाँ परिणामों की एक से अधिक पंक्ति लौटाती हैं। कई-पंक्ति उप-श्रेणियों के साथ उपयोग किए जा सकने वाले ऑपरेटरों में IN, ALL, Any, और EXISTS शामिल हैं। मल्टीपल-कॉलम सबक्वेरीज़ बाहरी क्वेरी के लिए एक से अधिक कॉलम लौटाती हैं। डेटा के कॉलम बाहरी क्वेरी को उसी क्रम में पास किए जाते हैं, जिसमें वे सबक्वेरी के SELECT क्लॉज में सूचीबद्ध होते हैं।
71.You need to find the department name of an employee with employee ID 200. Which of the following queries will be correct? (Choose the most appropriate answer)
SELECT employee_id, first_name, last_name,department_id , (SELECT department_name FROM departments d, employees E WHERE d.department_id = e.department_id And employee_id = 200 ) FROM employees e
SELECT employee_id, first_name, last_name,department_id , (SELECT department_ID FROM departments d WHERE d.department_id = department_id ) FROM employees e WHERE employee_id = 200;
SELECT employee_id, first_name, last_name,department_id , (SELECT department_name FROM departments d WHERE d.department_id = e.department_id And employee_id = 200 ) FROM employees e
SELECT employee_id, first_name, last_name,department_id , (SELECT department_name FROM departments d,employee E WHERE d.department_id = e.department_id ) FROM employees e
Answer: C.
72.You need to find the highest earning employee with the job ID as 'SA_REP'. Which of the following queries will be correct? (Choose the most appropriate answer)
SELECT job_id, employee_id, Salary FROM employees e WHERE job_id = ( SELECT distinct salary FROM employees E1 WHERE E.job_id = E1.job_id AND E.salary <= E1.salary AND job_id = 'SA_REP'
SELECT department_id , employee_id, Salary FROM employees E WHERE 1 = ( SELECT count(distinct salary) FROM employees E1 WHERE E.job_id = E1.job_id AND E.salary <= E1.salary AND job_id = 'SA_REP' )
SELECT department_id , employee_id, Salary FROM employees E WHERE 0 = ( SELECT count(distinct salary) FROM employees E1 WHERE E.job_id = E1.job_id AND E.salary = E1.salary AND job_id = 'SA_REP' )
SELECT department_id , employee_id, Salary FROM employees E WHERE 1 = ( SELECT salary FROM employees E1 WHERE E.job_id < E1.job_id AND E.salary <= E1.salary AND job_id = 'SA_REP' )
Answer: B.
Consider the EMPLOYEES table structure as shown in the exhibit and answer the questions 73 to 77 that follow:
73.You need to find the job which has at least one employee in it. Which of the following queries will be correct? (Choose the most appropriate answer)
SELECT employee_id, Job_id FROM employees E WHERE exists ( SELECT 1 FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE exists ( SELECT * FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE not exists ( SELECT * FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE exists ( SELECT 1 FROM employees E1 WHERE E.job_id < E1.job_id )
Answer: A. EXISTS ऑपरेटर का उपयोग प्रश्नों के बीच रिकॉर्ड की जांच और मिलान करने के लिए किया जाता है। यह एक BOOLEAN मान लौटाता है। संबंधित सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार सबक्वेरी निष्पादित करता है, और EXISTS ऑपरेटर का उपयोग यह परीक्षण करने के लिए किया जाता है कि संबंध या लिंक मौजूद है या नहीं। एक असंबंधित उपकुंजी पहले सबक्वेरी को निष्पादित करती है और बाहरी क्वेरी को मान पास करती है।
74.You need to find the job which has no employees in it. Which of the following queries will be correct? (Choose the most appropriate answer)
SELECT employee_id, Job_id FROM employees E WHERE exists ( SELECT * FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE not exists ( SELECT 1 FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE not exists ( SELECT * FROM employees E1 WHERE E.job_id = E1.job_id )
SELECT employee_id, Job_id FROM employees E WHERE exists ( SELECT 1 FROM employees E1 WHERE E.job_id < E1.job_id )
Answer: B. EXISTS EXISTS के लिए निषेध ऑपरेटर नहीं है।
75.You need to find the 3rd maximum salary from the EMPLOYEES table. Which of the following queries will give you the required results? (Choose the most appropriate answer)
SELECT * FROM employees E WHERE salary = (SELECT count(distinct salary ) FROM employees WHERE e.salary = salary );
SELECT * FROM employees E WHERE 1 = (SELECT count(distinct salary ) FROM employees WHERE e.salary < salary );
SELECT * FROM employees E WHERE 2 = (SELECT count(distinct salary ) FROM employees WHERE e.salary >salary );
SELECT * FROM employees E WHERE 3 = (SELECT count(distinct salary ) FROM employees WHERE e.salary <= salary );
Answer: D.
76. You need to find the maximum salary by using the user input for getting the value of N. Which of the following queries will give you the required results? (Choose the most appropriate answer)
SELECT salary FROM ( SELECT rowid as user_sal FROM (SELECT distinct salary from employees ORDER BY salary desc) ) WHERE user_sal=&N ;
SELECT salary FROM ( SELECT rownum as user_sal FROM (SELECT distinct salary FROM employees GROUP BY salary ) ) WHERE user_sal <= &N ;
SELECT salary FROM ( SELECT rownum as user_sal, salary FROM (SELECT distinct salary FROM employees ORDER BY salary desc) ) WHERE user_sal=&N ;
SELECT salary FROM ( SELECT max(rownum) as user_sal, salary FROM (SELECT distinct salary FROM employees ORDER BY salary desc) ) WHERE user_sal=&N ;
Answer: C. ROWNUM एक छद्म स्तंभ है जिसका उपयोग nth आदेश परिणामों को खोजने के लिए किया जाता है।
77.What will happen if a value is provided to the &N variable in the above query (option C in question 76) does not match with any row? (Choose the best answer)
- कथन ORA त्रुटि को फेंक देगा
- बयान तालिका में सभी पंक्तियों को लौटाएगा
- आउटपुट परिणाम के रूप में कथन NULL लौटेगा।
- कथन परिणाम में कोई पंक्तियाँ नहीं लौटाएगा।
Answer: D.
78.What is the maximum level up to which Sub-queries can be nested?
- 255
- 100
- 2
- 16
Answer: A.
79.What is true about the EXISTS operator in SQL queries with respect to sub-queries?
- उप-प्रश्नों में चुने गए कॉलम महत्वपूर्ण हैं
- आंतरिक क्वेरी को पंक्तियों को वापस करना चाहिए, कोई भी परिणाम वही है जो महत्वपूर्ण है, न कि चयनित क्या है
- A और B दोनों
- ए और बी दोनों नहीं
Answer: B.
80.What is true about the ANY operator used for sub-queries?
- उन पंक्तियों को लौटाता है जो किसी सूची / उप-क्वेरी में सभी मूल्यों से मेल खाती हैं
- वह पंक्तियाँ जो किसी सूची / उप-क्वेरी में पहले 5 मानों से मेल खाती हैं
- उन पंक्तियों को लौटाता है जो किसी सूची / उप-क्वेरी में किसी भी मूल्य से मेल खाती हैं
- मान 0 देता है जब सभी पंक्तियाँ किसी सूची / उप-क्वेरी में मेल खाती हैं
Answer: C.
81.What is true about the ALL operator used for sub-queries? (Choose the most appropriate answer.)
- उन पंक्तियों को लौटाता है जो किसी सूची / उप-क्वेरी में सभी मूल्यों से मेल खाती हैं
- उन पंक्तियों को लौटाता है जो सूची / उप-क्वेरी में केवल कुछ मूल्यों से मेल खाती हैं
- यदि सभी मान सूची / उप-क्वेरी में मेल खाते हैं तो ही पंक्तियाँ वापस आती हैं
- ऊपर के सभी
Answer: C. '> ALL' सबक्वेरी द्वारा लौटाए गए उच्चतम मूल्य से अधिक। '<ALL' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से कम है। '<कोई' सबसे अधिक मूल्य से कम उपकुंजी द्वारा लौटाया गया है। '> कोई' सबक्वेरी द्वारा लौटाए गए न्यूनतम मान से अधिक। '=' कोई भी 'किसी भी मान के अधीन के समान लौटाता है (उसी में)। '[नहीं] EXISTS' रो उपकुंजी में एक मूल्य से मेल खाना चाहिए।
82.What is true about using sub-queries in INSERT statements in Oracle?
- उन्हें बिना किसी प्रतिबंध के INSERT क्लॉज में इस्तेमाल किया जा सकता है
- इनका उपयोग INSERT क्लॉज में केवल संख्यात्मक मूल्यों के लिए किया जा सकता है
- उप-क्वेरी की चयन सूची INSERT विवरण की कॉलम सूची के समान होनी चाहिए।
- इनमे से कोई भी नहीं
Answer: C.
Examine the table structures as given below and answer the questions 83 to 86 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
83.You need to find the details of all employees who were hired for the job ID 'SA_REP' in the month of June, 2013. Which of the following queries will give the required results? (Consider the table structure as given)
SELECT first_name FROM employees WHERE employee_id = ( SELECT employee_id FROM employees WHERE to_char(hiredate, 'MM/YYYY')= '02/1981' AND job_id = 'SA_REP' );
SELECT first_name FROM employees WHERE employee_id = ANY ( SELECT employee_id FROM employees WHERE to_char(hiredate, 'MM/YYYY')= '02/1981' AND job_id = 'SA_REP' );
SELECT first_name FROM employees WHERE employee_id ANY ( SELECT employee_id FROM employees WHERE to_char(hiredate, 'MM/YYYY')= '02/1981' AND job_id = 'SA_REP' );
SELECT first_name FROM employees WHERE employee_id exists ( SELECT employee_id FROM employees WHERE to_char(hiredate, 'MM/YYYY')= '02/1981' AND job_id = 'SA_REP' );
Answer: B.
84.Which of the following statements are equivalent?
SELECT employee_id , salary FROM employees WHERE salary < ALL (SELECT salary FROM employees WHERE department_id=100);
SELECT employee_id , salary FROM employees WHERE salary < (SELECT min(salary) FROM employees WHERE department_id=100);
SELECT employee_id FROM employees WHERE salary not >= ANY (SELECT salary FROM employees WHERE department_id=100);
- इनमे से कोई भी नहीं
Answer: A, B.
85.Consider the following two queries:
Query 1:SELECT first_name
FROM employees e join departments d
ON e.department_id = d.department_id
WHERE department_name='ACCOUNTS';
Query 2:
SELECT first_name
FROM employees e
WHERE department_id = ANY (SELECT department_id FROM departments d
WHERE department_name='ACCOUNTS');
दो बयानों के बारे में क्या कहा जा सकता है?
- दोनों प्रश्नों का परिणाम समान होना चाहिए।
- दोनों क्वेरीज एक एरर फेकेंगी।
- यदि एक ही नाम के दो विभाग हैं, तो दोनों प्रश्न विफल हो जाएंगे।
- 'ACCOUNTS' नामक एक से अधिक विभाग होने पर भी दोनों प्रश्न सफलतापूर्वक चलेंगे।
Answer: A, D.
86.You need to display all the employees who have the highest salary in a department 100. You fire a query as below.
SELECT E.first_name, E.last_name , E.salary
FROM employees E
WHERE E.salary > ALL (SELECT E1.salary
FROM employees E1
WHERE E.department_id =E1.department_id
AND E.department_id = 100);
उपरोक्त क्वेरी का परिणाम क्या होगा?
- यह सफलतापूर्वक निष्पादित होता है और आवश्यक परिणाम देता है
- यह सफलतापूर्वक निष्पादित होता है, लेकिन आवश्यक आउटपुट नहीं देता है
- यह निष्पादन पर एक ORA त्रुटि फेंकता है
- यह सफलतापूर्वक निष्पादित होता है और आवश्यक परिणाम देता है जब> ALL को> = ALL के साथ बदल दिया जाता है
Answer: B, D. > सभी आवश्यक परिणाम नहीं देंगे क्योंकि एक ही वेतन वाले दो कर्मचारी हो सकते हैं और जो विभाग में सबसे अधिक कमाई करने वाले 100 हैं
Consider table structures as shown in the exhibit and answer the questions 87 to 89 that follow:
87.You need to fetch the first names (in a reverse alphabetical order) of all the employees in the department ID = 100 and who have the maximum salary in the JOB ID = 'SA_REP'. Which of the following queries will give the required output? (Choose the most appropriate output)
SELECT E.first_name, job_id , salary FROM employees E WHERE salary = (SELECT max(salary) FROM employees E1 WHERE E1.department_id = 100 GROUP BY job_id ) AND job_id = 'SA_REP' ORDER BY first_name;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary in (SELECT max(salary) FROM employees E1 where E1.department_id = 100) ORDER BY first_name;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary IN (SELECT max(salary) FROM employees E1 where job_id = 'SA_REP' GROUP BY job_id ) AND WHERE E.department_id = 100 ORDER BY first_name desc;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary IN (SELECT max(salary) FROM employees E1 WHERE E1.department_id = 100 GROUP BY job_id ) ORDER BY first_name ;
Answer: C.
88.In the queries given above (option C is the correct answer), you need to display all the employees with the JOB ID 'SA_REP' who have the maximum salary in the department 100. Which of the following queries will give the required output?
SELECT E.first_name, job_id , salary FROM employees E WHERE salary IN (SELECT max(salary) FROM employees E1 WHERE E1.department_id = 100 GROUP BY job_id ) AND job_id = 'SA_REP' ORDER BY first_name;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary in (SELECT max(salary) FROM employees E1 WHERE E1.department_id = 100) ORDER BY first_name;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary in (SELECT max(salary) FROM employees E1 WHERE job_id = 'SA_REP' GROUP BY job_id ) And WHERE E.department_id = 100 ORDER BY first_name desc;
SELECT E.first_name, job_id , salary FROM employees E WHERE salary in (SELECT max(salary) FROM employees E1 WHERE E1.department_id = 100 GROUP BY job_id ) ORDER BY first_name ;
Answer: A.
89.Select the query which will give you the maximum salary and maximum comm percentage. The query should also give the maximum comm percentage paid if the highest salaried employee gets the maximum comm percentage.
SELECT employee_id, max(salary), max(commission_pct ) FROM employees E GROUP BY salary, commission_pct ;
SELECT employee_id, max(salary), max(commission_pct ) FROM employees E GROUP BY salary;
SELECT employee_id, max(salary) FROM employees E GROUP BY salary, commission_pct HAVING max(commission_pct ) = 100;
SELECT employee_id, (SELECT max(salary) FROM employees) * (SELECT max(commission_pct ) FROM employees) FROM DUAL;
Answer: D. बाहरी क्वेरी के चयन खंड में एक एकल-पंक्ति उपकुंजी को भी नेस्ट किया जा सकता है। इस मामले में, आउटपुट की हर पंक्ति के लिए सबक्वेरी रिटर्न उपलब्ध है, जो बाहरी क्वेरी उत्पन्न करता है। आमतौर पर, इस तकनीक का उपयोग उपकेंद्र से उत्पन्न मूल्य के साथ गणना करने के लिए किया जाता है।
90.What is true about the sub-queries used in the SELECT clause of an SQL statement?
- ये उप-प्रश्न सभी पहलुओं में समान हैं जैसे कि FROM या WHERE क्लॉज़ में उपयोग किए गए हैं
- ये उप-प्रश्न अनिवार्य रूप से एकल पंक्ति उप-प्रश्न होने चाहिए
- ऐसे उप-प्रश्न लिखते समय हम मल्टी रो ऑपरेटर का उपयोग कर सकते हैं
- इनमे से कोई भी नहीं
Answer: B.
91.What will be the outcome of the following query? (Consider the table structure as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT sysdate,
(SELECT max(salary) FROM employees GROUP BY department_id )
FROM DUAL;
- यह सिस्टम की तारीख और प्रत्येक विभाग के लिए अधिकतम वेतन देता है
- यह सभी विभागों के लिए अधिकतम वेतन देता है
- यह एक ORA त्रुटि फेंकता है
- यह 0 पंक्तियों के साथ सफलतापूर्वक निष्पादित होता है
Answer: C. SQL कथन के चयन खंड में एक बहु पंक्ति उप-क्वेरी का उपयोग नहीं किया जा सकता है। बाहरी क्वेरी के चयन खंड में केवल एकल-पंक्ति उपक्वेरी को नेस्ट किया जा सकता है।
Examine the given table structure. Consider the following query and answer the questions 92 to 95 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT salary
FROM employees
WHERE salary > ALL (10, 20, 30);
92.Which of the following queries are equivalent to the above query?
SELECT salary FROM employees WHERE salary >10 or salary > 20 and salary >30;
SELECT salary FROM employees WHERE salary <10 and salary < 20 and salary <30;
SELECT salary FROM employees WHERE salary >10 and salary > 20 and salary >30;
SELECT salary FROM employees WHERE salary >10 and salary > 20 or salary < 30;
Answer: C. जब यह सूची किसी सूची का अनुसरण करती है तो प्रश्न सभी खंड को सरल तरीके से दिखाता है।
93. If in the above query the list (10,20,30) is replaced by a sub-query, which of the following queries will give the required output for the department number 100?
SELECT E.salary FROM employees E WHERE E.salary > (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary >ALL (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary = (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary >= (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
Answer: B. सब-क्वेरी द्वारा अनुसरण किए जाने पर प्रश्न सभी खंड को एक सरलीकृत तरीके से दिखाता है
94.With respect to the question 14 above, what among the following will be an equivalent query if ALL has to be replaced with ANY?
SELECT E.salary FROM employees E WHERE NOT EXISTS (E.salary =ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary >ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary =ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE NOT ( E.salary <= ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100));
Answer: D. उप-क्वेरी द्वारा लौटाए गए परिणामों की उपेक्षा के लिए '<= any' का उपयोग करते समय उपयोग किए गए NOT ऑपरेटर का उपयोग नहीं किया जाता है
95.With respect to the question 94, if the operator ANY is not to be used, which of the following queries will be correct?
SELECT E.salary FROM employees E WHERE NOT EXISTS (E.salary = ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE NOT EXISTS (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100 And E.salary <= E1.salary);
- या तो एक या बी
- इनमे से कोई भी नहीं
Answer: B. संबंधित सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार सबक्वेरी निष्पादित करता है, और EXISTS ऑपरेटर का उपयोग यह परीक्षण करने के लिए किया जाता है कि संबंध या लिंक मौजूद है या नहीं। एक असंबंधित उपकुंजी पहले सबक्वेरी को निष्पादित करती है और बाहरी क्वेरी को मान पास करती है।
Examine the given table structures. Consider the following query and answer the questions 96 to 98 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT salary
FROM employees
WHERE salary > ANY (10, 20, 30);
96. Which of the following queries are equivalent to the above query?
SELECT salary FROM employees WHERE salary >10 or salary > 20 and or >30;
SELECT salary FROM employees WHERE salary <10 and salary < 20 and salary <30;
SELECT salary FROM employees WHERE salary >10 and salary > 20 or salary >30;
SELECT salary FROM employees WHERE salary >10 and salary > 20 or salary < 30;
Answer: A. किसी सूची द्वारा अनुसरण किए जाने पर प्रश्न किसी भी खंड को सरलीकृत तरीके से दिखाता है।
97. In the above query, if the list (10, 20, 30) is replaced by a sub-query, which of the following queries will give the required output for the department number 100?
SELECT E.salary FROM employees E WHERE E.salary > (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary >ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary = (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE E.salary >= (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
Answer: B. जब उप-क्वेरी द्वारा अनुसरण किया जाता है, तो प्रश्न किसी भी खंड को सरलीकृत तरीके से दिखाता है
98.With respect to the question 97 above, what among the following will be an equivalent query if ANY is removed?
SELECT E.salary FROM employees E WHERE NOT EXISTS (E.salary =ANY (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
SELECT E.salary FROM employees E WHERE EXISTS (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100 And E.salary >E1.salary);
SELECT E.salary FROM employees E WHERE EXISTS (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100 );
SELECT E.salary FROM employees E WHERE IN (SELECT E1.salary FROM employees E1 WHERE E1.department_id = 100);
Answer: B. EXISTS ऑपरेटर किसी भी ऑपरेटर को स्थानापन्न कर सकता है। संबंधित सबक्वेरी बाहरी क्वेरी में एक कॉलम को संदर्भित करता है और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार सबक्वेरी निष्पादित करता है, और EXISTS ऑपरेटर का उपयोग यह परीक्षण करने के लिए किया जाता है कि संबंध या लिंक मौजूद है या नहीं।
99.Examine the given table structure. How many rows will get generated if the sub-query mentioned returns 0 rows?
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT E.salary
FROM employees E
WHERE E.salary > ANY ( select E1.salary FROM employees E1 where E1.department_id = 100);
- 1 पंक्ति
- कोई पंक्तियाँ नहीं
- या तो एक या बी
- इनमे से कोई भी नहीं
Answer: B. यदि उप-क्वेरी शून्य पंक्तियाँ लौटाती है, तो '> कोई भी' स्थिति FALSE का मूल्यांकन करती है, इसलिए "कोई पंक्तियाँ" वापस नहीं की जाती हैं।
100. A subquery must be placed in the outer query's HAVING clause if:
- आंतरिक क्वेरी को बाहरी क्वेरी में दिए गए मान को संदर्भित करने की आवश्यकता होती है।
- आंतरिक क्वेरी द्वारा लौटाए गए मूल्य को बाहरी क्वेरी में समूहीकृत डेटा की तुलना में होना चाहिए।
- सबक्वेरी बाहरी क्वेरी के लिए एक से अधिक मान देता है।
- इनमे से कोई भी नहीं। उप-क्वेरी का उपयोग बाहरी क्वेरी के HAVING क्लॉज में नहीं किया जा सकता है।
Answer: B. जब किसी स्थिति के आधार पर क्वेरी के समूह परिणामों को प्रतिबंधित करने की आवश्यकता होती है तो एक HAVING खंड का उपयोग किया जाता है। यदि एक उपश्रेणी के परिणाम की तुलना एक समूह फ़ंक्शन के साथ की जानी चाहिए, तो आपको बाहरी क्वेरी के HAVING क्लॉज में आंतरिक क्वेरी को घोंसला बनाना होगा।