# SQL Functions

## What is a function?

A function is a predefined formula which takes one or more arguments as input then process the arguments and returns an output.

## SQL function

There are two types of SQL functions, aggregate functions, and scalar(non-aggregate) functions. Aggregate functions operate on many records and produce a summary, works with GROUP BY whereas non-aggregate functions operate on each record independently.

There are so many built-in functions in SQL to do various calculations on data.

## Types of SQL functions

SQL functions Description
SQL Aggregate Function This function can produce a single value for an entire group or table. They operate on sets of rows and return results based on groups of rows.
Some Aggregate functions are -

SQL Arithmetic Function A mathematical function executes a mathematical operation usually based on input values that are provided as arguments, and return a numeric value as the result of the operation. Mathematical functions operate on numeric data such as decimal, integer, float, real, smallint, and tinyint.
Some Arithmetic functions are -

SQL Character Function A character or string function is a function which takes one or more characters or numbers as parameters and returns a character value. Basic string functions offer a number of capabilities and return a string value as a result set.
Some Character functions are -

Practice SQL Exercises

Previous: [Charlist]
Next: Aggregate functions

﻿

## SQL: Interview question/Tips of the Day

First Normal Forms

• Eliminate repeating groups in individual tables.
• Create a separate table for each set of related data.
• Identify each set of related data with a primary key.

Do not use multiple fields in a single table to store similar data. For example, to track an inventory item that may come from two possible sources, an inventory record may contain fields for Vendor Code 1 and Vendor Code 2. Also, what happens when you add a third vendor? Adding a field is not the answer; it requires program and table modifications and does not smoothly accommodate a dynamic number of vendors. Instead, place all vendor information in a separate table called Vendors, then link inventory to vendors with an item number key, or vendors to inventory with a vendor code key.