Обсуждение: A strange problem
Hi, I'm new to postgresql. Anytime I type the following command to the database to run, it give me no result record if table'country' is empty but can get result if 'country' is not empty. Is this so strange? select A.* from test.currency A, test.country B where A.curr_cd='USD'
On Sat, 27 Aug 2005, Tang Tim Hei wrote: > Hi, > I'm new to postgresql. Anytime I type the following command to the > database to run, it give me no result record if table 'country' is > empty but can get result if 'country' is not empty. Is this so > strange? Not really. You're doing a cartesian join between test.currency and test.country. If there are no rows in test.country, there are no rows in the output of the from clause. > select A.* from test.currency A, test.country B where A.curr_cd='USD'
Tang Tim Hei <timheit@netvigator.com> writes: > Hi, > I'm new to postgresql. Anytime I type the following command to the database to run, it give me no result record if table'country' is empty but can get result if 'country' is not empty. Is this so strange? > > select A.* from test.currency A, test.country B where A.curr_cd='USD' You're doing an unconstrained join on "currency" and "country", and if one of those two tables is empty the result will be empty. -Doug