hoangnnm
07-03-2011, 21:25
Tôi có 1 thắc mắc nhờ các bạn chỉ giáo giúp .
Ví dụ tôi có đoạn lệnh sau :
select top 10 x from bangx where x in ( select x from bangy )
Thực ra table bangy không hề có trường x, nhưng kết quả trả về vẫn là 10 record cột x.
Nếu tôi chỉ chạy lệnh :
select x from bangy
Lập tức sẽ có lỗi vì table bangy không có x.
Hoặc nếu select 1 cột x1 từ bangy ( x1 không có trong cả table bangx và table bangy ) cũng sẽ gây lỗi :
select top 10 x from bangx where x in ( select x1 from bangy )
Tại sao lại như vậy chứ ?
Ps: Sql2000 , chưa thử trên 2005 ->
Ví dụ tôi có đoạn lệnh sau :
select top 10 x from bangx where x in ( select x from bangy )
Thực ra table bangy không hề có trường x, nhưng kết quả trả về vẫn là 10 record cột x.
Nếu tôi chỉ chạy lệnh :
select x from bangy
Lập tức sẽ có lỗi vì table bangy không có x.
Hoặc nếu select 1 cột x1 từ bangy ( x1 không có trong cả table bangx và table bangy ) cũng sẽ gây lỗi :
select top 10 x from bangx where x in ( select x1 from bangy )
Tại sao lại như vậy chứ ?
Ps: Sql2000 , chưa thử trên 2005 ->