{"id":46441811,"url":"https://github.com/mergisi/sql-syntax-cheat-sheet","last_synced_at":"2026-03-05T22:00:51.784Z","repository":{"id":257597823,"uuid":"858758441","full_name":"mergisi/sql-syntax-cheat-sheet","owner":"mergisi","description":"A comprehensive SQL syntax cheat sheet for quick reference, covering essential commands, functions, operators, and concepts across various database systems.","archived":false,"fork":false,"pushed_at":"2024-09-17T13:42:51.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-17T17:07:42.846Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mergisi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-17T13:38:41.000Z","updated_at":"2024-09-17T13:43:36.000Z","dependencies_parsed_at":"2026-03-05T22:00:19.578Z","dependency_job_id":null,"html_url":"https://github.com/mergisi/sql-syntax-cheat-sheet","commit_stats":null,"previous_names":["mergisi/sql-syntax-cheat-sheet"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mergisi/sql-syntax-cheat-sheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergisi%2Fsql-syntax-cheat-sheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergisi%2Fsql-syntax-cheat-sheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergisi%2Fsql-syntax-cheat-sheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergisi%2Fsql-syntax-cheat-sheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mergisi","download_url":"https://codeload.github.com/mergisi/sql-syntax-cheat-sheet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergisi%2Fsql-syntax-cheat-sheet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30151958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T21:15:50.531Z","status":"ssl_error","status_checked_at":"2026-03-05T21:15:11.173Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-05T22:00:13.833Z","updated_at":"2026-03-05T22:00:51.768Z","avatar_url":"https://github.com/mergisi.png","language":null,"readme":"Certainly! Creating a SQL Syntax Cheat Sheet is a great idea to help others learn and reference SQL commands quickly. Below is a comprehensive cheat sheet formatted in Markdown, suitable for a GitHub repository.\n\n---\n\n# SQL Syntax Cheat Sheet\n\nA quick reference guide to SQL syntax, commands, and functions.\n\n---\n\n## Table of Contents\n\n1. [Data Definition Language (DDL)](#1-data-definition-language-ddl)\n   - [CREATE](#create)\n   - [ALTER](#alter)\n   - [DROP](#drop)\n2. [Data Manipulation Language (DML)](#2-data-manipulation-language-dml)\n   - [SELECT](#select)\n   - [INSERT](#insert)\n   - [UPDATE](#update)\n   - [DELETE](#delete)\n3. [Data Control Language (DCL)](#3-data-control-language-dcl)\n   - [GRANT](#grant)\n   - [REVOKE](#revoke)\n4. [Transaction Control Language (TCL)](#4-transaction-control-language-tcl)\n   - [COMMIT](#commit)\n   - [ROLLBACK](#rollback)\n   - [SAVEPOINT](#savepoint)\n5. [Constraints](#5-constraints)\n6. [Operators](#6-operators)\n7. [Functions](#7-functions)\n   - [Aggregate Functions](#aggregate-functions)\n   - [String Functions](#string-functions)\n   - [Date and Time Functions](#date-and-time-functions)\n8. [Joins](#8-joins)\n   - [INNER JOIN](#inner-join)\n   - [LEFT JOIN](#left-join)\n   - [RIGHT JOIN](#right-join)\n   - [FULL OUTER JOIN](#full-outer-join)\n9. [Subqueries](#9-subqueries)\n10. [Views](#10-views)\n11. [Indexes](#11-indexes)\n12. [Stored Procedures and Functions](#12-stored-procedures-and-functions)\n13. [Common Clauses](#13-common-clauses)\n    - [WHERE](#where)\n    - [GROUP BY](#group-by)\n    - [HAVING](#having)\n    - [ORDER BY](#order-by)\n    - [LIMIT / TOP / FETCH](#limit--top--fetch)\n14. [Data Types](#14-data-types)\n15. [Additional Resources](#15-additional-resources)\n\n---\n\n## 1. Data Definition Language (DDL)\n\n### CREATE\n\n**Create a Database**\n\n```sql\nCREATE DATABASE database_name;\n```\n\n**Create a Table**\n\n```sql\nCREATE TABLE table_name (\n    column1 datatype [constraints],\n    column2 datatype [constraints],\n    ...\n);\n```\n\n*Example:*\n\n```sql\nCREATE TABLE Customers (\n    CustomerID INT PRIMARY KEY,\n    FirstName VARCHAR(50) NOT NULL,\n    LastName VARCHAR(50) NOT NULL,\n    Email VARCHAR(100) UNIQUE,\n    CreatedDate DATE DEFAULT CURRENT_DATE\n);\n```\n\n### ALTER\n\n**Add a Column**\n\n```sql\nALTER TABLE table_name\nADD column_name datatype [constraints];\n```\n\n**Modify a Column**\n\n```sql\nALTER TABLE table_name\nMODIFY COLUMN column_name new_datatype;\n```\n\n**Drop a Column**\n\n```sql\nALTER TABLE table_name\nDROP COLUMN column_name;\n```\n\n### DROP\n\n**Drop a Table**\n\n```sql\nDROP TABLE table_name;\n```\n\n**Drop a Database**\n\n```sql\nDROP DATABASE database_name;\n```\n\n---\n\n## 2. Data Manipulation Language (DML)\n\n### SELECT\n\n**Basic Syntax**\n\n```sql\nSELECT column1, column2, ...\nFROM table_name\n[WHERE condition]\n[GROUP BY column1, column2, ...]\n[HAVING condition]\n[ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...];\n```\n\n*Example:*\n\n```sql\nSELECT FirstName, LastName\nFROM Customers\nWHERE CreatedDate \u003e '2023-01-01'\nORDER BY LastName ASC;\n```\n\n### INSERT\n\n**Insert Into All Columns**\n\n```sql\nINSERT INTO table_name\nVALUES (value1, value2, ...);\n```\n\n**Insert Into Specific Columns**\n\n```sql\nINSERT INTO table_name (column1, column2, ...)\nVALUES (value1, value2, ...);\n```\n\n*Example:*\n\n```sql\nINSERT INTO Customers (FirstName, LastName, Email)\nVALUES ('Alice', 'Smith', 'alice@example.com');\n```\n\n### UPDATE\n\n```sql\nUPDATE table_name\nSET column1 = value1, column2 = value2, ...\nWHERE condition;\n```\n\n*Example:*\n\n```sql\nUPDATE Customers\nSET Email = 'newemail@example.com'\nWHERE CustomerID = 1;\n```\n\n### DELETE\n\n```sql\nDELETE FROM table_name\nWHERE condition;\n```\n\n*Example:*\n\n```sql\nDELETE FROM Customers\nWHERE CustomerID = 1;\n```\n\n---\n\n## 3. Data Control Language (DCL)\n\n### GRANT\n\n```sql\nGRANT privilege_type ON object_name TO user [WITH GRANT OPTION];\n```\n\n*Example:*\n\n```sql\nGRANT SELECT, INSERT ON Customers TO 'db_user';\n```\n\n### REVOKE\n\n```sql\nREVOKE privilege_type ON object_name FROM user;\n```\n\n*Example:*\n\n```sql\nREVOKE INSERT ON Customers FROM 'db_user';\n```\n\n---\n\n## 4. Transaction Control Language (TCL)\n\n### COMMIT\n\n```sql\nCOMMIT;\n```\n\n### ROLLBACK\n\n```sql\nROLLBACK;\n```\n\n### SAVEPOINT\n\n```sql\nSAVEPOINT savepoint_name;\n```\n\n**Rollback to Savepoint**\n\n```sql\nROLLBACK TO SAVEPOINT savepoint_name;\n```\n\n---\n\n## 5. Constraints\n\n- **NOT NULL**: Ensures a column cannot have a NULL value.\n- **UNIQUE**: Ensures all values in a column are unique.\n- **PRIMARY KEY**: Uniquely identifies each record in a table.\n- **FOREIGN KEY**: Ensures referential integrity between tables.\n- **CHECK**: Ensures that all values in a column satisfy a specific condition.\n- **DEFAULT**: Sets a default value for a column if none is specified.\n\n*Example:*\n\n```sql\nCREATE TABLE Orders (\n    OrderID INT PRIMARY KEY,\n    OrderDate DATE NOT NULL,\n    CustomerID INT,\n    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)\n);\n```\n\n---\n\n## 6. Operators\n\n- **Arithmetic Operators**: `+`, `-`, `*`, `/`, `%`\n- **Comparison Operators**: `=`, `\u003c\u003e` or `!=`, `\u003e`, `\u003c`, `\u003e=`, `\u003c=`\n- **Logical Operators**: `AND`, `OR`, `NOT`\n- **Other Operators**: `BETWEEN`, `IN`, `LIKE`, `IS NULL`, `EXISTS`\n\n*Example:*\n\n```sql\nSELECT * FROM Products\nWHERE Price BETWEEN 10 AND 50;\n\nSELECT * FROM Customers\nWHERE Email LIKE '%@example.com';\n```\n\n---\n\n## 7. Functions\n\n### Aggregate Functions\n\n- **COUNT()**: Counts the number of rows.\n- **SUM()**: Calculates the sum of a numeric column.\n- **AVG()**: Calculates the average value.\n- **MIN()**: Finds the minimum value.\n- **MAX()**: Finds the maximum value.\n\n*Example:*\n\n```sql\nSELECT COUNT(*) FROM Orders;\n\nSELECT CustomerID, SUM(TotalAmount) as TotalSpent\nFROM Orders\nGROUP BY CustomerID;\n```\n\n### String Functions\n\n- **UPPER(string)**: Converts to uppercase.\n- **LOWER(string)**: Converts to lowercase.\n- **SUBSTRING(string, start, length)**: Extracts a substring.\n- **TRIM(string)**: Removes whitespace.\n- **CONCAT(string1, string2, ...)**: Concatenates strings.\n\n*Example:*\n\n```sql\nSELECT UPPER(FirstName), LOWER(LastName)\nFROM Customers;\n```\n\n### Date and Time Functions\n\n- **NOW()**: Returns current date and time.\n- **CURDATE()**: Returns current date.\n- **DATE_ADD(date, INTERVAL value unit)**: Adds a time interval to a date.\n- **DATEDIFF(date1, date2)**: Returns the difference between two dates.\n\n*Example:*\n\n```sql\nSELECT NOW();\n\nSELECT DATE_ADD(CURDATE(), INTERVAL 7 DAY);\n```\n\n---\n\n## 8. Joins\n\n### INNER JOIN\n\nReturns records with matching values in both tables.\n\n```sql\nSELECT columns\nFROM table1\nINNER JOIN table2 ON table1.column = table2.column;\n```\n\n*Example:*\n\n```sql\nSELECT Orders.OrderID, Customers.FirstName, Customers.LastName\nFROM Orders\nINNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;\n```\n\n### LEFT JOIN\n\nReturns all records from the left table, and matched records from the right table.\n\n```sql\nSELECT columns\nFROM table1\nLEFT JOIN table2 ON table1.column = table2.column;\n```\n\n### RIGHT JOIN\n\nReturns all records from the right table, and matched records from the left table.\n\n```sql\nSELECT columns\nFROM table1\nRIGHT JOIN table2 ON table1.column = table2.column;\n```\n\n### FULL OUTER JOIN\n\nReturns all records when there is a match in either left or right table.\n\n```sql\nSELECT columns\nFROM table1\nFULL OUTER JOIN table2 ON table1.column = table2.column;\n```\n\n---\n\n## 9. Subqueries\n\nA query nested inside another query.\n\n```sql\nSELECT column1\nFROM table1\nWHERE column2 = (SELECT column FROM table2 WHERE condition);\n```\n\n*Example:*\n\n```sql\nSELECT FirstName, LastName\nFROM Customers\nWHERE CustomerID IN (SELECT CustomerID FROM Orders WHERE TotalAmount \u003e 1000);\n```\n\n---\n\n## 10. Views\n\nA virtual table based on the result set of an SQL statement.\n\n**Create a View**\n\n```sql\nCREATE VIEW view_name AS\nSELECT columns\nFROM table\nWHERE condition;\n```\n\n*Example:*\n\n```sql\nCREATE VIEW HighValueOrders AS\nSELECT OrderID, CustomerID, TotalAmount\nFROM Orders\nWHERE TotalAmount \u003e 1000;\n```\n\n---\n\n## 11. Indexes\n\nUsed to speed up the retrieval of data.\n\n**Create an Index**\n\n```sql\nCREATE INDEX index_name\nON table_name (column1, column2, ...);\n```\n\n**Create a Unique Index**\n\n```sql\nCREATE UNIQUE INDEX index_name\nON table_name (column);\n```\n\n---\n\n## 12. Stored Procedures and Functions\n\n### Stored Procedure\n\nA set of SQL statements that can be stored and executed on the database server.\n\n**Create a Stored Procedure**\n\n```sql\nCREATE PROCEDURE procedure_name (parameters)\nBEGIN\n    -- SQL statements\nEND;\n```\n\n*Example:*\n\n```sql\nCREATE PROCEDURE GetCustomerOrders(IN custID INT)\nBEGIN\n    SELECT * FROM Orders WHERE CustomerID = custID;\nEND;\n```\n\n### User-Defined Function\n\nA function that returns a single value.\n\n**Create a Function**\n\n```sql\nCREATE FUNCTION function_name (parameters)\nRETURNS datatype\nBEGIN\n    DECLARE variable datatype;\n    -- SQL statements\n    RETURN variable;\nEND;\n```\n\n---\n\n## 13. Common Clauses\n\n### WHERE\n\nFilters records that meet specific conditions.\n\n```sql\nSELECT * FROM table_name\nWHERE condition;\n```\n\n### GROUP BY\n\nGroups rows that have the same values in specified columns.\n\n```sql\nSELECT column1, AGG_FUNC(column2)\nFROM table_name\nGROUP BY column1;\n```\n\n### HAVING\n\nFilters groups according to specified conditions.\n\n```sql\nSELECT column1, AGG_FUNC(column2)\nFROM table_name\nGROUP BY column1\nHAVING condition;\n```\n\n### ORDER BY\n\nSorts the result set.\n\n```sql\nSELECT * FROM table_name\nORDER BY column1 [ASC|DESC], column2 [ASC|DESC];\n```\n\n### LIMIT / TOP / FETCH\n\nLimits the number of records returned.\n\n- **MySQL, PostgreSQL, SQLite**\n\n  ```sql\n  SELECT * FROM table_name\n  LIMIT number OFFSET offset;\n  ```\n\n- **SQL Server**\n\n  ```sql\n  SELECT TOP number * FROM table_name;\n  ```\n\n- **Oracle**\n\n  ```sql\n  SELECT * FROM table_name\n  FETCH FIRST number ROWS ONLY;\n  ```\n\n---\n\n## 14. Data Types\n\n### Numeric\n\n- `INT`\n- `DECIMAL(p, s)`\n- `FLOAT`\n- `DOUBLE`\n\n### String\n\n- `CHAR(n)`\n- `VARCHAR(n)`\n- `TEXT`\n\n### Date and Time\n\n- `DATE`\n- `TIME`\n- `DATETIME`\n- `TIMESTAMP`\n\n### Binary\n\n- `BINARY`\n- `VARBINARY`\n- `BLOB`\n\n### Boolean\n\n- `BOOLEAN` or `BIT`\n\n---\n\n## 15. Additional Resources\n\n- **Official Documentation**\n  - [MySQL Documentation](https://dev.mysql.com/doc/)\n  - [PostgreSQL Documentation](https://www.postgresql.org/docs/)\n  - [SQL Server Documentation](https://docs.microsoft.com/en-us/sql/sql-server/)\n  - [SQLite Documentation](https://www.sqlite.org/docs.html)\n- **Online Tutorials**\n  - [W3Schools SQL Tutorial](https://www.w3schools.com/sql/)\n  - [TutorialsPoint SQL Tutorial](https://www.tutorialspoint.com/sql/index.htm)\n- **Practice Platforms**\n  - [SQLBolt](https://sqlbolt.com/)\n  - [HackerRank SQL Challenges](https://www.hackerrank.com/domains/sql)\n  - [LeetCode Database Problems](https://leetcode.com/problemset/database/)\n\n### AI-Powered Tools\n\n- **[AI2sql](https://www.ai2sql.io/)**: Generate SQL queries from natural language descriptions using AI.\n\n\n---\n\n## How to Use This Cheat Sheet\n\n- **Learning**: Use this guide as a starting point to learn SQL syntax and concepts.\n- **Reference**: Quickly look up syntax for SQL commands and functions.\n- **Contribution**: Feel free to contribute by suggesting improvements or adding new sections.\n\n## License\n\nThis cheat sheet is released under the [MIT License](LICENSE).\n\n---\n\n**Note:** SQL syntax may vary slightly between different database systems (e.g., MySQL, PostgreSQL, SQL Server, Oracle). Always refer to the official documentation of the database you are using for exact syntax and additional features.\n\n---\n","funding_links":[],"categories":["Resources","Tutorials"],"sub_categories":["Tutorials"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmergisi%2Fsql-syntax-cheat-sheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmergisi%2Fsql-syntax-cheat-sheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmergisi%2Fsql-syntax-cheat-sheet/lists"}