SQL Functions
SQL Functions
SQL Functions
AVG() - Returns the average value COUNT() - Returns the number of rows FIRST() - Returns the first value LAST() - Returns the last value MAX() - Returns the largest value MIN() - Returns the smallest value SUM() - Returns the sum
UCASE() - Converts a field to upper case LCASE() - Converts a field to lower case MID() - Extract characters from a text field LEN() - Returns the length of a text field ROUND() - Rounds a numeric field to the number of decimals specified NOW() - Returns the current system date and time FORMAT() - Formats how a field is to be displayed
Tip: The aggregate functions and the scalar functions will be explained in details in the next chapters.
Now we want to find the average value of the "OrderPrice" fields. We use the following SQL statement:
Now we want to count the number of orders from "Customer Nilsen". We use the following SQL statement:
The result-set will look like this: NumberOfOrders 6 which is the total number of rows in the table.
Now we want to find the last value of the "OrderPrice" column. We use the following SQL statement:
The MAX() function returns the largest value of the selected column.
Now we want to find the largest value of the "OrderPrice" column. We use the following SQL statement:
3 4 5 6
Now we want to find the smallest value of the "OrderPrice" column. We use the following SQL statement:
Now we want to find the sum of all "OrderPrice" fields". We use the following SQL statement:
OrderTotal 5700
SQL GROUP BY Syntax SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
Now we want to find the total sum (total order) of each customer. We will have to use the GROUP BY statement to group the customers. We use the following SQL statement:
The result-set above is not what we wanted. Explanation of why the above SELECT statement cannot be used: The SELECT statement above has two columns specified (Customer and SUM(OrderPrice). The "SUM(OrderPrice)" returns a single value (that is the total sum of the "OrderPrice" column), while "Customer" returns 6 values (one value for each row in the "Orders" table). This will therefore not give us the correct result. However, you have seen that the GROUP BY statement solves this problem.
SQL HAVING Syntax SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value
1 2 3 4 5 6
Now we want to find if any of the customers have a total order of less than 2000. We use the following SQL statement:
Now we want to find if the customers "Hansen" or "Jensen" have a total order of more than 1500. We add an ordinary WHERE clause to the SQL statement:
SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Hansen' OR Customer='Jensen' GROUP BY Customer HAVING SUM(OrderPrice)>1500
The result-set will look like this: Customer Hansen Jensen SUM(OrderPrice) 2000 2000
P_Id 1 2 3
Now we want to select the content of the "LastName" and "FirstName" columns above, and convert the "LastName" column to uppercase. We use the following SELECT statement:
Now we want to select the content of the "LastName" and "FirstName" columns above, and convert the "LastName" column to lowercase. We use the following SELECT statement:
Now we want to extract the first four characters of the "City" column above. We use the following SELECT statement:
The LEN() function returns the length of the value in a text field.
Now we want to select the length of the values in the "Address" column above. We use the following SELECT statement:
2 3
Mascarpone Gorgonzola
1000 g 1000 g
32.56 15.67
Now we want to display the product name and the price rounded to the nearest integer. We use the following SELECT statement:
Now we want to display the products and prices per today's date. We use the following SELECT statement:
Now we want to display the products and prices per today's date (with today's date displayed in the following format "YYYY-MM-DD"). We use the following SELECT statement:
ALTER TABLE
or ALTER TABLE table_name DROP COLUMN column_name AS (alias) SELECT column_name AS column_alias FROM table_name or SELECT column_name FROM table_name AS table_alias BETWEEN SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 CREATE DATABASE database_name CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name2 data_type, ... ) CREATE INDEX index_name ON table_name (column_name) or CREATE UNIQUE INDEX index_name ON table_name (column_name) CREATE VIEW CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition DELETE FROM table_name WHERE some_column=some_value or DELETE FROM table_name (Note: Deletes the entire table!!) DELETE * FROM table_name (Note: Deletes the entire table!!) DROP DATABASE DROP INDEX DROP DATABASE database_name DROP INDEX table_name.index_name (SQL Server) DROP INDEX index_name ON table_name (MS Access) DROP INDEX index_name (DB2/Oracle) ALTER TABLE table_name DROP INDEX index_name (MySQL) DROP TABLE table_name SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
CREATE INDEX
DELETE
HAVING
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,..) INSERT INTO table_name VALUES (value1, value2, value3,....) or INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,....)
IN
INSERT INTO
INNER JOIN
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern SELECT column_name(s) FROM table_name ORDER BY column_name [ASC|DESC] SELECT column_name(s) FROM table_name SELECT * FROM table_name SELECT DISTINCT column_name(s) FROM table_name SELECT * INTO new_table_name [IN externaldatabase] FROM old_table_name or SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_table_name
LEFT JOIN
RIGHT JOIN
FULL JOIN
LIKE
ORDER BY
UNION
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 UPDATE table_name SET column1=value, column2=value,... WHERE some_column=some_value SELECT column_name(s) FROM table_name WHERE column_name operator value
UNION ALL
UPDATE
WHERE
Source : http://www.w3schools.com/sql/sql_quickref.asp
SQL Hosting
SQL Hosting
If you want your web site to be able to store and display data from a database, your web server should have access to a database system that uses the SQL language. If your web server will be hosted by an Internet Service Provider (ISP), you will have to look for SQL hosting plans. The most common SQL hosting databases are MySQL, MS SQL Server, and MS Access. You can have SQL databases on both Windows and Linux/UNIX operating systems. Below is an overview of which database system that runs on which OS. MS SQL Server Runs only on Windows OS. MySQL Runs on both Windows and Linux/UNIX operating systems. MS Access (recommended only for small websites) Runs only on Windows OS. To learn more about web hosting, please visit our Hosting tutorial.
SQL Summary
This SQL tutorial has taught you the standard computer language for accessing and manipulating database systems. You have learned how to execute queries, retrieve data, insert new records, delete records and update records in a database with SQL. You have also learned how to create databases, tables, and indexes with SQL, and how to drop them. You have learned the most important aggregate functions in SQL. You now know that SQL is the standard language that works with all the well-known database systems like MS SQL Server, IBM DB2, Oracle, MySQL, and MS Access.
SQL Quiz
You can test your SQL skills with W3Schools' Quiz.
The Test
The test contains 20 questions and there is no time limit. The test is not official, it's just a nice way to see how much you know, or don't know, about SQL.
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS. The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM. The XML Certificate documents your knowledge of XML, XML DOM and XSLT. The ASP Certificate documents your knowledge of ASP, SQL, and ADO. The PHP Certificate documents your knowledge of PHP and SQL (MySQL).
SQL Tutorial
SQL Tutorial
SQL stands for Structured Query Language. SQL is a standard language for accessing and manipulating databases. In this tutorial you will learn how to use SQL to access and manipulate data in MySQL, SQL Server, MS Access, Oracle, Sybase, DB2, and other database systems. Start learning SQL now!
SQL Demo
Learn by examples! With our editor, you can edit the SQL, and click on a button to view the result. Try-It-Yourself!
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS. The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM. The XML Certificate documents your knowledge of XML, XML DOM and XSLT. The ASP Certificate documents your knowledge of ASP, SQL, and ADO. The PHP Certificate documents your knowledge of PHP and SQL (MySQL).