First of all, quickly learn that any SharePoint Development should not talk to the database directly, especially with SQL Queries. SharePoint has a fully-featured and very robust API framework for getting data in and out of SharePoint Lists, and (although it is a steep learning curve), it's just the way development is done in SharePoint.
Now, you want to produce reports based on a list.
There are (as ever) quite a few ways you could do this. Nearly all with SharePoint Designer, meaning you don't need Visual Studio, and you don't need to "develop" a solution which you need to "deploy" anywhere - things you build will already sit in the server, and you can employ a method of hiding content you don't want other's to use/see until it's ready.
I'm assuming you want to present the information about a single list item in a printable way.
I guess, the easiest method you could do, to help you pick up on the tools and methods for customising SharePoint, is to create a customised "Display Form" in SharePoint Designer. This tutorial on the Microsoft Office site should get you started. This process would have you create a new Form in SharePoint Designer, which has fields mapped to the Columns in your List, and when a user clicks the clickable "title" in a SharePoint List, your new form would show. You may need a basic knowledge of HTML and some web design concepts to understand the fields placements on the page. SharePoint Designer 2010 is quite design-safe, so you may never even need to go into the Code view to edit anything, but you will always have that flexibility.
Give us a shout in the comments if you have any more questions, or if you want you can Google around for "Creating Custom SharePoint List Forms" to see other examples.