Q
Problem solve Get help with specific problems with your technologies, process and projects.

# Key factors for successful SQL

What are the key factors of the SQL language which an individual MUST grasp in order to become a successful SQL...

developer?

Excellent question, because it's difficult to come up with a wrong answer. ? `;o)`

1. Think in sets of rows, not individual rows

This is a subtle distinction. "Who are the employees that have the lowest salary in their department?" is slightly different than "For each department, find the employees that have the lowest salary." The former makes us look at the problem in terms of which rows satisfy the requirement, while the latter diverts our attention to the procedure for finding them.

```  select dept, employee, salary
from payroll XX
where salary = ( select min(salary)
from payroll
where dept = XX.dept )```

You don't have to write any code to "loop through" the rows. Just describe which set of rows you want.

2. There is no "how"

Waste no time worrying about how efficient your SQL is. Concentrate on the sets you want your SQL to operate on. Which is better, a join or a subselect? Use whichever you are comfortable with, as long as it is semantically correct, i.e. operates on the right set of rows. For example, what is the average salary of employees on staff less than one year? You could do it like this --

```     select avg(salary)
from payroll
where employeeid in
( select employeeid
from employees
where hiredate > current_date() - 1 year )```

or like this --

```     select avg(salary)
from payroll
inner join employees
on employeeid
where hiredate > current_date() - 1 year```

Both queries give the same results.

3. Design to third normal form

This has actually nothing to do with the SQL language at all. Make sure your rowboat is watertight and you won't be constantly bailing. Design your tables to third normal form and your SQL becomes very, very simple.

Tip: Despite my advice in 2. above not to worry about how efficient your SQL is, it is still a very good idea to make sure your primary keys have indexes. Possibly your foreign keys as well.

#### For More Information

• The Best SQL Web Links: tips, tutorials, scripts, and more.
• Have a SQL tip to offer your fellow DBA's and developers? The best tips submitted will receive a cool prize--submit your tip today!
• Ask your technical SQL questions--or help out your peers by answering them--in our live discussion forums.
• Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, and data warehousing gurus are waiting to answer your toughest questions.

This was last published in November 2001

## Content

Find more PRO+ content and other member only offers, here.

#### Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

#### Start the conversation

Send me notifications when other members comment.

## SearchDataManagement

• ### NewSQL databases rise anew -- MemSQL, Spanner among contenders

The NewSQL database was almost hidden when Hadoop and NoSQL arose. Now, as more big data teams move toward production uses, ...

• ### Good data quality for analytics becomes an IT imperative

High-quality data is a must for analytics applications. That's driving more demand for data quality tools, but quality ...

• ### Data quality for big data should include a focus on usability

To help make big data analytics applications more effective, IT teams need to augment conventional data quality processes with ...

## SearchBusinessAnalytics

• ### Better Tableau implementation gives BI dashboards a boost

Building good Tableau dashboards is about more than just pretty visualizations. Users say the process should incorporate strong ...

• ### Tableau data visualization tool gets enterprise upgrade

Tableau is adding low-level capabilities to raise its software's standing above that of a data visualization tool for business ...

• ### Becoming a data-driven enterprise requires art, science

Business analytics strategy often seeks to squeeze as much subjectivity from the process as possible. But when data is limited, ...

## SearchSAP

• ### SAP boosts data integration with SAP Data Hub and Vora

SAP Data Hub and Vora are both data integration tools, but Data Hub has a broad mission to manage data from different sources, ...

• ### User experience analytics tool helps Graybar improve support

Electric supply firm Graybar improved help desk operations and app performance for its SAP Suite on HANA system when it got the ...

• ### SAP promotes blockchain services, suggests IoT use cases

Blockchain use cases for business are still limited, but SAP believes the new SAP Leonardo Blockchain Co-innovation program will ...

## SearchSQLServer

• ### Dissect the SQL Server on Linux high availability features

SQL Server 2017 on Linux gives IT shops greater flexibility, but there are some limitations and changes to the way high ...

• ### Microsoft SQL Server 2017 for Linux hits GA, IT pros encouraged

Microsoft SQL Server 2017 becomes available in October. In addition to a version that runs on Linux, new features include support...

• ### SQL Server graph database tools map out data relationships

Get equipped to take advantage of the addition of graph database features in SQL Server 2017 to use graph structures to represent...

## TheServerSide.com

• ### Migrations to Oracle's Java SE 9 platform may be delayed

Oracle did a great job getting Java SE 9 released earlier this year, but modularity and various smaller updates may not be enough...

• ### Java 18.3 marks the future of Java at JavaOne 2017

At JavaOne 2017, Oracle identified four projects that will have a significant impact on the future of Java: Project Valhalla, ...

• ### How blockchain security is driving digital transformations

Whether it is a secure cloud, a secure mobile device or a secure IOT interaction, organizations are making blockchain security a ...

## SearchDataCenter

• ### Software-defined memory trends yield speed, high performance

A new class of memory technologies is coming to the data center landscape. Educate yourself on the emerging tech, including tools...

• ### Explore uses for virtual data center architecture with VMC on AWS

The popularity of a virtual data center has risen because of the VMware Cloud on AWS announcement at VMworld 2017. But which ...

• ### A multi-tenant data center offers SDN challenges, benefits

SDN controllers offer segmentation in a multi-tenant data center. Understand how to configure the right network flow to isolate ...

## SearchContentManagement

• ### Slack vs. Teams vs. Spark: Which is the best collaboration tool?

Ever wonder how the leading cloud collaboration tools stack up against each other? Our comprehensive chart pits platforms from ...

• ### Experts: Updating customer digital experience is a tall task

Gone are the days of a quick website launch. According to speakers at the Acquia Engage conference, redesigning a website is now ...

• ### Content personalization fuses marketing automation, content management

As the standards get higher for digital experiences, content personalization engines could be the answer for faster and better ...

## SearchFinancialApplications

• ### Finance IT case study: Reporting secrets of Derek Rose

CEO Sacha Rose says specialist reporting tools have saved the company thousands by avoiding unnecessary mistakes.

• ### WestJet turns to gamification to help its Oracle ERP users soar

WestJet's initial gamification project focuses on expense reporting.

• ### The Transformation of HR is Underway

HR is being transformed while we watch.

Close