0% found this document useful (0 votes)
14 views

SQL Cheat Sheet

Uploaded by

k28anjali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

SQL Cheat Sheet

Uploaded by

k28anjali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SQL Cheat Sheet

1. Creating and Managing Databases


In [ ]: CREATE DATABASE db_name; -- Create a new database
DROP DATABASE db_name; -- Delete a database
USE db_name; -- Select a database
SHOW DATABASES; -- List all databases
SHOW TABLES; -- List all tables in a database

2. Creating and Managing Tables


Creating Tables
In [ ]: CREATE TABLE table_name (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT,
salary DECIMAL(10, 2)
);

Modifying Tables
In [ ]: ALTER TABLE table_name ADD column_name VARCHAR(100); -- Add a new column
ALTER TABLE table_name DROP COLUMN column_name; -- Delete a column
ALTER TABLE table_name MODIFY COLUMN column_name INT; -- Modify a column

Deleting Tables
In [ ]: DROP TABLE table_name; -- Delete a table
TRUNCATE TABLE table_name; -- Remove all rows from a table

3. Inserting Data
In [ ]: INSERT INTO table_name (id, name, age, salary)
VALUES (1, 'John Doe', 30, 50000.00);

INSERT INTO table_name (id, name, age, salary)


VALUES
(2, 'Jane Doe', 25, 60000.00),
(3, 'Sam Smith', 40, 70000.00);
4. Querying Data
Basic Select Statements
In [ ]: SELECT * FROM table_name; -- Select all columns
SELECT name, age FROM table_name; -- Select specific columns
SELECT DISTINCT name FROM table_name; -- Select distinct values

Filtering Data
In [ ]: SELECT * FROM table_name WHERE age > 30; -- Simple condition
SELECT * FROM table_name WHERE name = 'John Doe'; -- String comparison
SELECT * FROM table_name WHERE age BETWEEN 25 AND 35; -- Range condition
SELECT * FROM table_name WHERE name LIKE 'J%'; -- Pattern matching
SELECT * FROM table_name WHERE age IN (25, 30, 35); -- List of values
SELECT * FROM table_name WHERE age IS NULL; -- Null values
SELECT * FROM table_name WHERE age IS NOT NULL; -- Not null values

Combining Conditions
In [ ]: SELECT * FROM table_name WHERE age > 30 AND salary > 50000; -- AND condition
SELECT * FROM table_name WHERE age > 30 OR salary > 50000; -- OR condition

Sorting and Limiting Results


In [ ]: SELECT * FROM table_name ORDER BY age ASC; -- Ascending order
SELECT * FROM table_name ORDER BY age DESC; -- Descending order
SELECT * FROM table_name ORDER BY age, salary DESC; -- Multiple columns
SELECT * FROM table_name LIMIT 10; -- Limit number of rows
SELECT * FROM table_name LIMIT 5 OFFSET 10; -- Limit with offset

5. Aggregating Data
Aggregate Functions
In [ ]: SELECT COUNT(*) FROM table_name; -- Count rows
SELECT AVG(salary) FROM table_name; -- Average salary
SELECT SUM(salary) FROM table_name; -- Sum of salaries
SELECT MIN(age) FROM table_name; -- Minimum age
SELECT MAX(age) FROM table_name; -- Maximum age

Grouping Data
In [ ]: SELECT age, COUNT(*) FROM table_name GROUP BY age; -- Group by age
SELECT age, AVG(salary) FROM table_name GROUP BY age; -- Group and aggregate
Filtering Groups
In [ ]: SELECT age, AVG(salary)
FROM table_name
GROUP BY age
HAVING AVG(salary) > 50000; -- Filtering groups

6. Joining Tables
In [ ]: SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.id;

SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.id;

SELECT *
FROM table1
RIGHT JOIN table2 ON table1.id = table2.id;

SELECT *
FROM table1
FULL OUTER JOIN table2 ON table1.id = table2.id;

7. Subqueries
Subquery in WHERE Clause
In [ ]: SELECT *
FROM table_name
WHERE age > (SELECT AVG(age) FROM table_name);

Subquery in FROM Clause


In [ ]: SELECT *
FROM (SELECT age,
AVG(salary) AS avg_salary
FROM table_name
GROUP BY age) AS subquery;
8. Advanced SQL Concepts
Window Functions
In [ ]: SELECT name, age, salary,
RANK() OVER (PARTITION BY age ORDER BY salary DESC) as rank
FROM table_name;

Common Table Expressions (CTEs)


In [ ]: WITH cte AS (
SELECT name, age, salary
FROM table_name
WHERE age > 30
)
SELECT *
FROM cte
WHERE salary > 50000;

Indexes
In [ ]: CREATE INDEX idx_name ON table_name (column_name); -- Create an index
DROP INDEX idx_name ON table_name; -- Drop an index

Views
In [ ]: CREATE VIEW view_name AS
SELECT name, age, salary
FROM table_name
WHERE age > 30;

SELECT * FROM view_name; -- Query the view


DROP VIEW view_name; -- Drop the view

User-defined Functions
In [ ]: CREATE FUNCTION function_name (@param1 INT, @param2 INT)
RETURNS INT
AS
BEGIN
DECLARE @result INT;
SET @result = @param1 + @param2;
RETURN @result;
END;

SELECT dbo.function_name(1, 2); -- Call the function

You might also like