Re: suggestions for good graphical DB query builder

From: DA Morgan <>
Date: Thu, 27 Sep 2007 07:57:15 -0700
Message-ID: <>

Martijn Tonies wrote:
>>> We're doing a product comparison for graphical query builders. Would
>>> appreciate
>>> your input on what you like (or don't).
>>> We're an Oracle shop, but we need connectivity w/ any ODBC compliant
>>> DB.
>>> Also need query result export options (esp Excel), pivot capability,
>>> printable results,
>>> Windows compliant.
>>> We don't need write capability, and if the tool has it, we need
>>> to be able to turn it off. DB Admin tools not needed.
>>> I've heard great things about AQT (Advanced Query Tool)... comments?
>>> Thanks,
>>> Carol
>> I think all of the tools are bad. They produce simplistic queries,
>> poorly tuned, and hide from the end-user the information required
>> to do the job well.
>> Better to invest the money in good training than in a dumb-as-dirt
>> GUI.

> Although I do agree with you that an understanding of SQL helps
> you to write proper queries, your opinion about tools producing
> simplistic queries is a bit over the top, in my opinion.
> There are tools available that allow you to use derived tables,
> sub-selects, multiple unions, complex multi joins etc etc. It's not
> all "select * from ... " :-)

[Quoted] Can you find INTERSECT and MINUS?
Can you find WITH?
[Quoted] Can you find the SAMPLE clause?
Can you find regular expressions?
[Quoted] Can you find the analytic functions?
Can you find CONNECT BY PRIOR?

[Quoted] How about CUBE? ROLLUP? GROUPING SETS? GROUP_ID? Partition and subpartition selections?
Database links?

Could you write this?
[Quoted] SELECT CAST(POWERMULTISET(cust_address_ntab) AS cust_address_tab_tab_typ)
FROM customers_demo;

or this?
[Quoted] SELECT customer_id, SET(cust_address_ntab) address FROM customers_demo;

or this?
FROM all_objs
[Quoted] WHERE data_object_id IS NOT NAN;

or this?
FROM persons p
[Quoted] WHERE VALUE(p) IS OF TYPE (employee_t);

or this?
FROM customer_demo
[Quoted] WHERE cust_address_ntab IS NOT EMPTY;

or this?
SELECT path(1), depth(2)
FROM resource_view
[Quoted] WHERE UNDER_PATH(res, '/sys/schemas', 1)=1 AND UNDER_PATH(res, '/sys/schemas', 2)=1;

[Quoted] Trained people can.

[Quoted] I will repeat my statement again for anyone that missed it. Money is better spent on hiring and training good employees than buying dumbed down GUI tools that give the impression of competence without the substance of actually having it. The result is almost always SELECT * FROM ....

Daniel A. Morgan
University of Washington (replace x with u to respond)
Puget Sound Oracle Users Group
Received on Thu Sep 27 2007 - 16:57:15 CEST

Original text of this message