এসকিউএল সার্ভারে নেস্টেড সিলেক্ট স্টেটমেন্ট


387

নিম্নলিখিত কাজ করে না কেন?

SELECT name FROM (SELECT name FROM agentinformation)

আমি অনুমান করি যে এসকিউএল সম্পর্কে আমার বোঝাটি ভুল, কারণ আমি ভাবতাম যে এটি একই হিসাবে ফিরে আসবে

SELECT name FROM agentinformation

অভ্যন্তরীণ নির্বাচনের বিবৃতিটি কোনও ফলাফল সেট তৈরি করে না যা বাইরের নির্বাচনী বিবৃতিটি জিজ্ঞাসা করে?

উত্তর:


672

আপনি subquery উপন্যাস প্রয়োজন।

SELECT name FROM (SELECT name FROM agentinformation) a  

বা আরও স্পষ্ট হতে

SELECT a.name FROM (SELECT name FROM agentinformation) a  

76
আপনার উপনামটিও কিছুটা ভার্জোজ আছে কিনা তা নিশ্চিত করুন! আমি পছন্দ করি যখন আমি টি 1, টি 2, টি 3, টি 4, টি 5, টি 6 দিয়ে ওয়ুরিতে কাজ করতে পারি
ডগ চেম্বারলাইন

2
whereবাইরের কোয়েরির জন্য একটি ধারা কোথায় যাবে ?
কর্নেল আতঙ্ক

3
@ কলোনেলপ্যানিক: বহিরাগত ক্যোয়ারীর জন্য যেখানে যেখানে এই ধারাটি একেবারে শেষের দিকে মোকাবেলা করা হবে।
জো স্টেফেনেলি

"ঠিক আছে, আমি একজন বোকা! ধন্যবাদ, একবার অনুমতি পেলে গ্রহণ করবে।" নাহ। শুধু অজ্ঞ। আমাদের সবার মত।
লুসিও মোল্লিন্ডো

2
ওরাকল selectওরফে ছাড়াই প্রথম গ্রহণ করে ।
কেজিল এস।

49

উত্তর জো স্তেফানেল্লি দ্বারা উপলব্ধ ইতিমধ্যে সঠিক।

SELECT name FROM (SELECT name FROM agentinformation) as a  

আমাদের সাব-কোয়ের একটি উপাধি তৈরি করতে হবে কারণ একটি প্রশ্নের জন্য একটি টেবিল অবজেক্ট দরকার যা আমরা সাবকোয়ারির জন্য একটি উপাস তৈরি করা থেকে পেয়ে যাব। ধারণামূলকভাবে, subquery ফলাফল বাইরের ক্যোয়ারী প্রতিস্থাপন করা হয়। বাহ্যিক ক্যোয়ারিতে যেমন আমাদের একটি টেবিল অবজেক্টের দরকার হয়, তেমনি আমাদের অভ্যন্তরীণ ক্যোয়ারির একটি উপকরণ তৈরি করতে হবে।

একটি subquery অন্তর্ভুক্ত বিবৃতি সাধারণত এই ফর্মগুলির একটি গ্রহণ করে:

  • যেখানে অভিব্যক্তি [নয়] মধ্যে (উপকণি)
  • যেখানে অভিব্যক্তি তুলনা_সংযোগকারী [কোনও | সমস্ত]
  • যেখানে [নয়] বিদ্যমান (উপকণি)

আরও subquery নিয়ম এবং subquery ধরণের জন্য পরীক্ষা করুন

নেস্টেড সাবকিউয়ের আরও উদাহরণ

  1. IN / NOT IN - এই অপারেটর অভ্যন্তরীণ কোয়েরি কার্যকর হওয়ার পরে অভ্যন্তরীণ ক্যোয়ারীর আউটপুট নেয় যা শূন্য বা আরও মান হতে পারে এবং এটি বাইরের ক্যোয়ারীতে প্রেরণ করে। বাহ্যিক ক্যোয়ারী তারপরে সমস্ত মেলানো [IN অপারেটর] বা অ মেলানো [অপারেটরে নয়] সারিগুলি আনে।

  2. যে কোনও - [> কোনও বা যে কোনও অপারেটর অভ্যন্তরীণ কোয়েরি দ্বারা উত্পাদিত মানগুলির তালিকা গ্রহণ করে এবং তালিকাটির সর্বনিম্ন মানের চেয়ে বড় মানেরগুলি আনে। দ্য

উদাঃ> যে কোনও (100,200,300), যে কোনও অপারেটর 100 এর চেয়ে বেশি মানগুলি আনবে।

  1. সমস্ত - [> সমস্ত বা সমস্ত অপারেটর অভ্যন্তরীণ কোয়েরি দ্বারা উত্পাদিত মানগুলির তালিকা গ্রহণ করে এবং তালিকার সর্বাধিকের চেয়ে বেশি মানের সমস্ত মান নিয়ে আসে। দ্য

উদাহরণস্বরূপ> সমস্ত (100,200,300), সমস্ত অপারেটর 300 এর চেয়ে বেশি মানগুলি আনবে।

  1. উপস্থিতি - বিদ্যমান কীওয়ার্ডটি একটি বুলিয়ান মান [সত্য / মিথ্যা] উত্পাদন করে। এই উপস্থিতি উপ-কোয়েরিতে ফিরে আসা সারির অস্তিত্ব পরীক্ষা করে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.