[AccessD] Slashdot: SQL vs Access for Learning Database Concepts?

Gustav Brock gustav at cactus.dk
Sat Dec 13 06:13:36 CST 2003


Hi Susan, Brett et all

It's interesting that a few messages from this list gives useful and
much better view on the subject than the lot of wild shooting opinions
and raves on Slashdot. I browsed some of them briefly only to wonder
why so many people are wasting their time reading - not to say writing
- messages to that forum. Reminds me of the days of FidoNet ...

/gustav


> If the person being trained is going to be so involved with the data that
> they need to write SQL statements, then Access probably isn't the best tool.
> There's SQL and then there's Jet SQL, Transact-SQL, Oracle SQL, and on and
> on. You wouldn't use Oracle to teach someone Transact-SQL, so why use
> Access?

> On the other hand, an .adp file uses Transact-SQL against SQL Server tables.
> In addition, the objects are very similar to those in SQL Servers -- views,
> stored procedures, etc. are all used in SQL Server, but not the traditional
> mdb file. So, using an .adp file would work very well in a training
> environment, I would think.

> Susan H.


>> IMHO, the Access query designer is a rotten way to teach someone how to
>> write SQL code.  I have developed Access apps for 8 years now, and I still
>> cannot get more than 2 tables to join without using the QBE grid.  For
>> example (using the Northwind database), if I wanted to join the Orders
>> table
>> to the Order Details and Employees tables in Transact SQL, it would look
>> like:
>>
>> ---
>> SELECT Orders.*
>> FROM Orders
>> INNER JOIN [Order Details]
>> ON [Order Details].[Order ID] = Orders.[Order ID]
>> INNER JOIN Employees
>> ON Employees.[Employee ID] = Orders.[Employee ID]
>> ---
>>
>> Simple, intuitive, easy to learn.  In fact, I wrote that snippet just now
>> in
>> this email because it is so simple to do.
>>
>> Access, however, looks like (taken directly from the QBE grid contents):
>> ---
>> SELECT Orders.*
>> FROM Employees
>> INNER JOIN (Orders
>> INNER JOIN [Order Details]
>> ON Orders.[Order ID] = [Order Details].[Order ID])
>> ON Employees.[Employee ID] = Orders.[Employee ID];
>> ---
>>
>> How the h*ll are you supposed to teach the rules of this join syntax to
>> someone just learning SQL?  You could spend weeks just teaching them the
>> various Jet engine rules for bracket placement!
>>
>> When I took SQL Server in college, we didn't have any visual design tools
>> to
>> use, just the query analyzer.  Students completely new to SQL in general
>> were writing complex queries after the first day!
>>
>> OTOH, the Access QBE grid is far more useful than the one in Enterprise
>> Manager, which is a good thing since I need to use it for virtually all of
>> my Access queries.  Whereas I tend to manually type 90% of my SQL Server
>> queries in the query analyzer.



More information about the AccessD mailing list