SQL & report writing

Can anyone reccomend any websites, books or software that I can learn basic information about sql report writing? Bear in my mind money is something of short supply but I’m willing to tighten my belt as much as possible.

I’m interested in submitting my resume to a company for a support position and one thing they require is knowledge of this. I have the other skills they desire except this one.

Having tired of the company I work for now, (we haven’t had a raise in almost 3 years and it doesn’t look good for the future either… among other things), I have found another company in this god-forsaken-yes,everything you hear about arkiesaw is true-state that looks much more promising. However, I do lack that skill.

We have training facilities and classes that I can take at my current job to learn this. At this time the clases I want to take are not available and when the next one starts I want to get a jump start on it, or perhaps just learn it on my own and move on. It could literally be months before i have the chance for any sql classes though.

From what I can gather so far, am I correct that I need to learn a specific tool, such as Crystal? What else should I consider in learning to do this? I have an understanding of relational databases. What do I need to know about SQL? ODBC?

Thanks in advance for any help/guidance or flames if I’ve worded this in as idiotic a fashion as possible! :wink:

Googling on “SQL Tutorials” brought back a ton of hits. Take a look at 'em.

SQL isn’t hard to learn - it’s very English like, and the basics are quite easy. More advanced features are harder, but I highly doubt a support position would require hard-core SQL knowledge. If they did, they better be paying for it :slight_smile:

If you need a good free database to “practice” on, check out MySQL.

Report writing does differ depending on the reporting tool you’re using, but the basic concepts are pretty much the same. If you get a working knowledge of SQL, picking up a reporting package will be easy. I’d look around for some demos that work with whatever DBMS you have access to, and play around with them.

You almost certainly don’t need to know ODBC. ODBC is a low-level protocol for accessing databases from programming languages such as VB, C++, etc. Unless you’re looking at a programming job, you don’t need ODBC.

A big problem with writing SQL is that if you mess up the syntax, it won’t run at all and you can’t figure out why. Here’s my idea:

You write that you do have an understanding of relational databases. Have you ever used MS Access? It is already there on any machine that has MS Office.

My suggestion is to use access to build a few tables, and then use its graphical tool to drag the fields you like into various queries. The graphical tool makes query-building very intuitive. Then, after you’ve built the query, and ran it to see that the data is what you expected, change from Graphical View to SQL View. Look at it, read it, learn it, and understand it. Switch back to Graphical, make a small change, and look at it in SQL again.

That way you’ll get a good understanding of what the various words mean and do, and eventually, you’ll know enough to write the code from scratch without the Graphical tool. Good luck!

I like Access too, but Microsoft Jet SQL is non-standard in a few ways (I can’t remember the precise details) that might cause you to pick up bad habits.

Also, mentioning that you like/use Access (as I just did) is a sure way to invite scorn BTW.

I’d recommend W3Schools for a good SQL Primer. SQL, to be honest, is not that hard, at least for 80% of the stuff you’ll want to do.

And although Access is non-standard in a few ways (it took me forever to not put the “*” in a DELETE statement when I moved from Access to other systems), you’re going to find a few bumps on any system - it took me as much time to move from Access to Oracle as Oracle to MS-SQL Server. Find out what database they’re using - it does matter.

On further review, Crystal Reports is a report writer that uses SQL to query the database, but there’s a lot more to Crystal than just SQL. You don’t need Crystal to practice SQL, but some experience on Crystal would be nice. Good luck finding a demo, though - it’s expensive.

Sicne you’re looking for advice more than facts, I’ll move this thread to IMHO.

bibliophage
moderator GQ

:confused:

(hijack)

Huh? If a SQL statement won’t run, you go over your script and locate where the syntax is incorrect. People learn to correct their own SQL everyday. Not sure what you’re getting at.

(/hijack)

Kp_72110, a question: do you need to know how to write SQL scripts that will generate reports (which is possible, but unwieldy) or do you need to be acquainted with some dedicated reporting software that happens to use SQL to pass queries to the database (e.g. BRIO, Crystal Reports, etc.)?

You could try [SQLCourse] and [SQLCourse2] for a couple of basic interactive online tutorials.

I’ve found the Oracle FAQ to be helpful as an SQL resource, especially if you are working with SQL in Oracle. I’m not sure how helpful it is as a tutorial, but there is a lot of good information once you get going. If you click on the ‘Advanced options’ link next to the Search button, you can actually search Oracle manuals, including the SQL Reference manual.

My experience- Our company has a program that uses both Access and SQL DBs (and connects to the DBs via ODBC) and runs reports that I’ve created in Crystal Reports. Crystal uses a language very similar to SQL so if you’re familiar with one, you’ll probably have a good handle on the other. Crystal is probably the most popular report creating program but has a number of irritating idiosyncracies (and a decent amount of bugs, but we stay 1 version behind so they may have been adressed by now). From my experience you don’t need to know much about ODBC other than a basic understanding of how it works.

We’re starting to shy away from Crystal and go with XML reports that access the DB(s) directly, but I’m not working on that project and know little about it.

I think we need a little more context.

Is this a database support job? (Do you need to be able to discuss normal forms and query optimization with the interviewer?)

Is this a support position where you have to run some database queries to troubleshoot? (Will they ask you to diagram a contact database and/or write a few sample joins?)

Are you supporting a data-driven software package and just have to understand, in general terms, what a database is?

Do you need to understand a reporting package so that you can write reports? (in which case you should just learn about the package, sql probably doesn’t enter into it.)

I can’t imagine a support position in which you would need to understand more about ODBC than what it is and how to use it - unless you’re supporting a development tool and will be talking to programmers using the tool.

As Mangetout says, don’t mention Access unless specifically asked about it. If asked you should probably ask whether or not that is a job requirement. If it is then admit to it, otherwise you should deny it or admit it and downplay it - they’re probably asking simply to weed you out. Definitely don’t admit it if you’ll be supporting Sybase, Oracle, or DB2.

Give us some more info about the job and we can probably be more helpful.

Good luck!

Is that a fact? There are legitimate uses of Access even for us Oracle DBAs and our ilk. Example: Cleaning up text files meant to be loaded into the database.

I can go for not volunteering use of Access, but if pressed, one should be able to speak reasonably about it.

I would tend to refer to Access as an “incredibly versatile toy”. (Personally I like it a lot and for a small business, it is a fantastic low-cost database application solution, but it is completely pointless trying to convince the ‘big boys’ that it is in any way worthwhile. Shame really, ne’er mind)