Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

SQL Server Cheat Sheet

www.databasestar.com
SELECT Query Modifying Data Create Table
SELECT col1, col2
FROM table Insert INSERT INTO tablename Create Table CREATE TABLE tablename (
JOIN table2 ON table1.col = table2.col (col1, col2...) column_name data_type
WHERE condition VALUES (val1, val2); );
GROUP BY column_name Insert from a
HAVING condition INSERT INTO tablename
Table
ORDER BY col1 ASC|DESC; (col1, col2...) Create Table with Constraints
SELECT col1, col2...

CREATE TABLE tablename (


SELECT Keywords Insert Multiple
Rows
INSERT INTO tablename
(col1, col2...) VALUES column_name data_type NOT NULL,
(valA1, valB1), CONSTRAINT pkname PRIMARY KEY (col),
DISTINCT: Removes SELECT DISTINCT product_name (valA2, valB2), CONSTRAINT fkname FOREIGN KEY (col)
duplicate results FROM product; (valA3, valB3); REFERENCES other_table(col_in_other_table),
CONSTRAINT ucname UNIQUE (col),
CONSTRAINT ckname CHECK (conditions)
BETWEEN: Matches a SELECT product_name
Update UPDATE tablename );
value between two FROM product
other values (inclusive) WHERE price BETWEEN 50 AND 100; SET col1 = val1
WHERE condition;
Create Temporary SELECT cols
SELECT product_name Table INTO #tablename
IN: Matches to any of
FROM product Update with UPDATE t FROM table;
the values in a list
WHERE category IN a Join SET col1 = val1
('Electronics', 'Furniture'); FROM tablename t
INNER JOIN table x Drop Table DROP TABLE tablename;
LIKE: Performs SELECT product_name ON t.id = x.tid
wildcard matches using FROM product WHERE condition;
_ or % WHERE product_name
Delete DELETE FROM tablename
Alter Table
LIKE '%Desk%';
WHERE condition;
Add Column ALTER TABLE tablename
ADD columnname datatype;
Joins Indexes
Drop Column ALTER TABLE tablename
Create Index CREATE INDEX indexname DROP COLUMN columnname;
SELECT t1.*, t2.*
ON tablename (cols);
FROM t1
join_type t2 ON t1.col = t2.col; Modify Column ALTER TABLE tablename ALTER COLUMN
Drop Index DROP INDEX indexname; columnname newdatatype;
Table 1 Table 2

Set Operators
A A Rename Column sp_rename
'table_name.old_column_name',
B B
'new_column_name', 'COLUMN';
C D UNION: Shows unique
rows from two result sets. Add Constraint ALTER TABLE tablename ADD
CONSTRAINT constraintname
INNER JOIN: show all matching A A constrainttype (columns);
records in both tables. UNION ALL: Shows all
B B rows from two result sets.
Drop Constraint ALTER TABLE tablename
DROP CONSTRAINT constraintname;
LEFT JOIN: show all records from left A A
INTERSECT: Shows rows that
table, and any matching records from ALTER TABLE tablename
B B exist in both result sets. Rename Table
right table. RENAME TO newtablename;
C

EXCEPT: Shows rows that exist


RIGHT JOIN: show all records from in the first result set but not
Window/Analytic Functions
A A
right table, and any matching records the second.
B B
from left table.
D
Aggregate Functions function_name ( arguments ) OVER (
[query_partition_clause]
SUM: Finds a total of the numbers provided [ORDER BY order_by_clause
FULL JOIN: show all records from A
A [windowing_clause] ] )
both tables, whether there is a match COUNT: Finds the number of records
or not. B B AVG: Finds the average of the numbers provided
MIN: Finds the lowest of the numbers provided Example using RANK, showing the student details and their rank
C according to the fees_paid, grouped by gender:
MAX: Finds the highest of the numbers provided
D SELECT
student_id, first_name, last_name, gender, fees_paid,
Common Functions
CASE Statement
RANK() OVER (
PARTITION BY gender ORDER BY fees_paid
LEN(string): Returns the length of the provided string ) AS rank_val
Simple Case CASE name CHARINDEX(expressionToFind, expressionToSearch, FROM student;
WHEN 'John' THEN 'Name John' [start_position]): Returns the position of the substring within the
WHEN 'Steve' THEN 'Name Steve' specified string.
ELSE 'Unknown' CAST(expression AS type [(length)]): Converts an expression to
END another data type. Subqueries
GETDATE: Returns the current date, including time.
CEILING(input_val): Returns the smallest integer greater than the Single Row SELECT id, last_name, salary
Searched Case CASE FROM employee
provided number.
WHEN name='John' THEN 'Name John' WHERE salary = (
FLOOR(input_val): Returns the largest integer less than the
WHEN name='Steve' THEN 'Name Steve' SELECT MAX(salary)
provided number.
ELSE 'Unknown' FROM employee
ROUND(input_val, round_to, operation): Rounds a number to a
END );
specified number of decimal places.
REPLACE(whole_string, string_to_replace, replacement_string):
Common Table Expression Replaces one string inside the whole string with another string.
SUBSTRING(string, start_position, [length]): Returns part of a
Multi Row SELECT id, last_name, salary
FROM employee
WHERE salary IN (
value, based on a position and length.
WITH queryname (col1, col2...) AS ( SELECT salary
SELECT col1, col2 FROM employee
FROM firsttable) WHERE last_name LIKE 'C%'
SELECT col1, col2.. );
FROM queryname...;

You might also like