Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Select ... from ...

 
Tang Yue
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If select x from X x, Y y
The comma in the "from" clause is equivalent to an Inner Join or a pure Cartesian join?

In ETS test 5 Q.62:
Consider the following JPQL:

select c from Customer c, IN(c.orders) o

What will this query return?


The correct answer is :
All Customers who have at least one Order.

Because the query is translated into
"For Sun Java Application Server and MySQL, select c from Customer c, IN(c.orders) o actually gets translated to :
SELECT DISTINCT t0.ID, t0.LASTNAME FROM CUSTOMER t0, ORDER t1 WHERE (t1.CUSTOMER_ID = t0.ID)
"

But in EJB in action, the book says one can perform theta join using ',' in the "from" clause.

I am totally confused.
 
Chaminda Amarasinghe
Ranch Hand
Posts: 412
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think the book does not say that...

See this example

SELECT i
FROM Item i, Category c
WHERE i.star = c.rating

the relationship has been made using where not by ','

Anyway enthus answer is correct according to experience and spec.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic