বলুন, আমাদের এই জাতীয় একটি প্রশ্ন আছে:
select a.*,b.*
from
a join b
on a.col1=b.col1
and len(a.col1)=10
উপরের ক্যোয়ারীটি হ্যাশ জোড় ব্যবহার করে এবং তার একটি অবশিষ্টাংশ রয়েছে বলে ধরে নিলে প্রোব কীটি হবে col1
এবং অবশিষ্টটি হবে len(a.col1)=10
।
তবে অন্য একটি উদাহরণ দিয়ে যাওয়ার সময়, আমি একই কলাম হতে প্রোব এবং অবশিষ্টগুলি উভয়ই দেখতে পেতাম। নীচে আমি কী বলতে চাইছি তার একটি বিশদ বিবরণ দেওয়া হল:
প্রশ্ন:
select *
from T1 join T2 on T1.a = T2.a
অনুসন্ধান ও অবশিষ্টাংশ হাইলাইট করে কার্যকর করার পরিকল্পনা:
পরীক্ষার ডেটা:
create table T1 (a int, b int, x char(200))
create table T2 (a int, b int, x char(200))
set nocount on
declare @i int
set @i = 0
while @i < 1000
begin
insert T1 values (@i * 2, @i * 5, @i)
set @i = @i + 1
end
declare @i int
set @i = 0
while @i < 10000
begin
insert T2 values (@i * 3, @i * 7, @i)
set @i = @i + 1
end
প্রশ্ন:
কীভাবে একটি প্রোব এবং অবশিষ্টাংশ একই কলাম হতে পারে? এসকিউএল সার্ভার কেন কেবল প্রোব কলামটি ব্যবহার করতে পারে না? পুনরায় ফিল্টার করার জন্য কেন এটি একই কলামটিকে অবশিষ্টাংশের মতো একই কলাম ব্যবহার করতে হবে?
পরীক্ষার ডেটার জন্য রেফারেন্স: