Thread: general questions about joins in queries
Hello.
Is it better to use A) or B) ?
A)
SELECT
"public"."departments".*,
"public"."plants".*,
"public"."batches_microbs".*,
"public"."results_microbs".*
FROM
"public"."departments",
"public"."plants",
"public"."batches_microbs",
"public"."results_microbs"
WHERE
"plants"."department" = "departments"."department" AND
"batches_microbs"."plant" = "plants"."plant" AND
"results_microbs"."batch" = "batches_microbs"."batch"
"public"."departments".*,
"public"."plants".*,
"public"."batches_microbs".*,
"public"."results_microbs".*
FROM
"public"."departments",
"public"."plants",
"public"."batches_microbs",
"public"."results_microbs"
WHERE
"plants"."department" = "departments"."department" AND
"batches_microbs"."plant" = "plants"."plant" AND
"results_microbs"."batch" = "batches_microbs"."batch"
B)
SELECT
"public"."departments".*,
"public"."plants".*,
"public"."batches_microbs".*,
"public"."results_microbs".*
FROM
public.departments
INNER JOIN public.plants ON (public.departments.department = public.plants.department)
INNER JOIN public.batches_microbs ON (public.plants.plant = public.batches_microbs.plant)
INNER JOIN public.results_microbs ON (public.batches_microbs.batch = public.results_microbs.batch)
"public"."departments".*,
"public"."plants".*,
"public"."batches_microbs".*,
"public"."results_microbs".*
FROM
public.departments
INNER JOIN public.plants ON (public.departments.department = public.plants.department)
INNER JOIN public.batches_microbs ON (public.plants.plant = public.batches_microbs.plant)
INNER JOIN public.results_microbs ON (public.batches_microbs.batch = public.results_microbs.batch)
Thanks,
Zlatko
Hi, it's the same , try "EXPLAIN <query>" if you are not sure. Viktor Dne pondělí 16 ledna 2006 18:01 Zlatko Matić napsal(a): > Hello. > Is it better to use A) or B) ? > > A) > > SELECT > "public"."departments".*, > "public"."plants".*, > "public"."batches_microbs".*, > "public"."results_microbs".* > FROM > "public"."departments", > "public"."plants", > "public"."batches_microbs", > "public"."results_microbs" > WHERE > "plants"."department" = "departments"."department" AND > "batches_microbs"."plant" = "plants"."plant" AND > "results_microbs"."batch" = "batches_microbs"."batch" > > B) > > SELECT > "public"."departments".*, > "public"."plants".*, > "public"."batches_microbs".*, > "public"."results_microbs".* > FROM > public.departments > INNER JOIN public.plants ON (public.departments.department = > public.plants.department) INNER JOIN public.batches_microbs ON > (public.plants.plant = public.batches_microbs.plant) INNER JOIN > public.results_microbs ON (public.batches_microbs.batch = > public.results_microbs.batch) > > > Thanks, > > Zlatko