From 4def7beeab6d82eb256e9266b4be884c644dd595 Mon Sep 17 00:00:00 2001 From: Bob DuCharme Date: Mon, 29 Oct 2018 18:16:47 -0400 Subject: Adding SQL entry --- sql.html.markdown | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sql.html.markdown (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown new file mode 100644 index 00000000..0dc07eb5 --- /dev/null +++ b/sql.html.markdown @@ -0,0 +1,106 @@ +--- +language: SQL +filename: learnsql.sql +contributors: +- ["Bob DuCharme", "http://bobdc.com/"] +lang: en-en +--- + +Structured Query Language (SQL) is an ISO standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. + +Implementations typically provide a command line prompt where you can enter the commands shown here interactively, and they also offer a way to execute a series of these commands stored in a script file. (Showing that you’re done with the interactive prompt is a good example of something that isn’t standardized--most SQL implementations support the keywords QUIT, EXIT, or both.) + +Several of these sample commands assume that the [MySQL employee sample database](https://dev.mysql.com/doc/employee/en/) available on [github](https://github.com/datacharmer/test_db) has already been loaded. The github files are scripts of commands, similar to the relevant commands below, that create and populate tables of data about a fictional company’s employees. The syntax for running these scripts will depend on the SQL implementation you are using. A utility that you run from the operating system prompt is typical. + + +``` +# Comments start with a pound sign. End each command with a semicolon. + +# SQL is not case-sensitive about keywords. The sample commands here +# follow the convention of spelling them in upper-case because it makes +# it easier to distinguish them from database, table, and column names. + +# Create and delete a database. Database and table names are case-sensitive. +CREATE DATABASE someDatabase; +DROP DATABASE someDatabase; + +# List available databases. +SHOW DATABASES; + +# Use a particular existing database. +USE employees; + +# Select all rows and columns from the current database's departments table. +# Default activity is for the interpreter to scroll the results on your screen. +SELECT * FROM departments; + +# Retrieve all rows from the departments table, +# but only the dept_no and dept_name columns. +# Splitting up commands across lines is OK. +SELECT dept_no, + dept_name FROM departments; + +# Retrieve all departments columns, but just 5 rows. +SELECT * FROM departments LIMIT 5; + +# Retrieve dept_name column values from the departments +# table where the dept_name value has the substring "en". +SELECT dept_name FROM departments WHERE dept_name LIKE "%en%"; + +# Retrieve all columns from the departments table where the dept_name +# column starts with an "S" and has exactly 4 characters after it. +SELECT * FROM departments WHERE dept_name LIKE "S____"; + +# Select title values from the titles table but don't show duplicates. +SELECT DISTINCT title FROM titles; + +# Same as above, but sorted (case-sensitive) by the title values. +SELECT DISTINCT title FROM titles ORDER BY title; + +# Show the number of rows in the departments table. +SELECT COUNT(*) FROM departments; + +# Show the number of rows in the departments table that +# have "en" as a substring of the dept_name value. +SELECT COUNT(*) FROM departments WHERE dept_name LIKE "%en%"; + +# A JOIN of information from multiple tables: the titles table shows +# who had what job titles, by their employee numbers, from what +# date to what date. Retrieve this information, but instead of the +# employee number, use the employee number as a cross-reference to +# the employees table to get each employee's first and last name +# instead. (And only get 10 rows.) + +SELECT employees.first_name, employees.last_name, + titles.title, titles.from_date, titles.to_date +FROM titles INNER JOIN employees ON + employees.emp_no = titles.emp_no LIMIT 10; + +# List all the tables in all the databases. Implementations typically provide +# their own shortcut command to do this with the database currently in use. +SELECT * FROM INFORMATION_SCHEMA.TABLES +WHERE TABLE_TYPE='BASE TABLE'; + +# Create a table called tablename1, with the two columns shown, for +# the database currently in use. Lots of other options are available +# for how you specify the columns, such as their datatypes. +CREATE TABLE tablename1 (`fname` VARCHAR(20),`lname` VARCHAR(20)); + +# Insert a row of data into the table tablename1. This assumes that the +# table has been defined to accept these values as appropriate for it. +INSERT INTO tablename1 VALUES('Richard','Mutt'); + +# In tablename1, change the fname value to "John" +# for all rows that have an lname value of "Mutt". +UPDATE tablename1 SET fname="John" WHERE lname="Mutt"; + +# Delete rows from the tablename1 table +# where the lname value begins with "M". +DELETE FROM tablename1 WHERE lname like "M%"; + +# Delete all rows from the tablename1 table, leaving the empty table. +DELETE FROM tablename1; + +# Remove the entire tablename1 table. +DROP TABLE tablename1; +``` -- cgit v1.2.3 From e30222273bbf1aa10574e70a1c7d1557ed89ea7f Mon Sep 17 00:00:00 2001 From: bobdc Date: Wed, 31 Oct 2018 12:50:32 -0400 Subject: make edits requested by divayprakash https://github.com/adambard/learnxinyminutes-docs/pull/3349 --- sql.html.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 0dc07eb5..8f200344 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -2,8 +2,8 @@ language: SQL filename: learnsql.sql contributors: -- ["Bob DuCharme", "http://bobdc.com/"] -lang: en-en + - ["Bob DuCharme", "http://bobdc.com/"] +https://github.com/adambard/learnxinyminutes-docs --- Structured Query Language (SQL) is an ISO standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. @@ -13,7 +13,7 @@ Implementations typically provide a command line prompt where you can enter the Several of these sample commands assume that the [MySQL employee sample database](https://dev.mysql.com/doc/employee/en/) available on [github](https://github.com/datacharmer/test_db) has already been loaded. The github files are scripts of commands, similar to the relevant commands below, that create and populate tables of data about a fictional company’s employees. The syntax for running these scripts will depend on the SQL implementation you are using. A utility that you run from the operating system prompt is typical. -``` +```sql # Comments start with a pound sign. End each command with a semicolon. # SQL is not case-sensitive about keywords. The sample commands here -- cgit v1.2.3 From 89f7b984478df1098beab78d9180ceac18e64276 Mon Sep 17 00:00:00 2001 From: bobdc Date: Wed, 31 Oct 2018 15:40:15 -0400 Subject: Update sql.html.markdown --- sql.html.markdown | 1 - 1 file changed, 1 deletion(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 8f200344..0638a731 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -3,7 +3,6 @@ language: SQL filename: learnsql.sql contributors: - ["Bob DuCharme", "http://bobdc.com/"] -https://github.com/adambard/learnxinyminutes-docs --- Structured Query Language (SQL) is an ISO standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. -- cgit v1.2.3 From eabb26c70eb207d98ebf5e14e8f1d94dfeb61c76 Mon Sep 17 00:00:00 2001 From: Adam Bard Date: Sun, 4 Nov 2018 09:26:31 -0800 Subject: Use dash commenting on sql doc instead --- sql.html.markdown | 82 +++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 0638a731..200f4f98 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -13,93 +13,93 @@ Several of these sample commands assume that the [MySQL employee sample database ```sql -# Comments start with a pound sign. End each command with a semicolon. +-- Comments start with two hyphens. End each command with a semicolon. -# SQL is not case-sensitive about keywords. The sample commands here -# follow the convention of spelling them in upper-case because it makes -# it easier to distinguish them from database, table, and column names. +-- SQL is not case-sensitive about keywords. The sample commands here +-- follow the convention of spelling them in upper-case because it makes +-- it easier to distinguish them from database, table, and column names. -# Create and delete a database. Database and table names are case-sensitive. +-- Create and delete a database. Database and table names are case-sensitive. CREATE DATABASE someDatabase; DROP DATABASE someDatabase; -# List available databases. +-- List available databases. SHOW DATABASES; -# Use a particular existing database. +-- Use a particular existing database. USE employees; -# Select all rows and columns from the current database's departments table. -# Default activity is for the interpreter to scroll the results on your screen. +-- Select all rows and columns from the current database's departments table. +-- Default activity is for the interpreter to scroll the results on your screen. SELECT * FROM departments; -# Retrieve all rows from the departments table, -# but only the dept_no and dept_name columns. -# Splitting up commands across lines is OK. +-- Retrieve all rows from the departments table, +-- but only the dept_no and dept_name columns. +-- Splitting up commands across lines is OK. SELECT dept_no, dept_name FROM departments; -# Retrieve all departments columns, but just 5 rows. +-- Retrieve all departments columns, but just 5 rows. SELECT * FROM departments LIMIT 5; -# Retrieve dept_name column values from the departments -# table where the dept_name value has the substring "en". +-- Retrieve dept_name column values from the departments +-- table where the dept_name value has the substring "en". SELECT dept_name FROM departments WHERE dept_name LIKE "%en%"; -# Retrieve all columns from the departments table where the dept_name -# column starts with an "S" and has exactly 4 characters after it. +-- Retrieve all columns from the departments table where the dept_name +-- column starts with an "S" and has exactly 4 characters after it. SELECT * FROM departments WHERE dept_name LIKE "S____"; -# Select title values from the titles table but don't show duplicates. +-- Select title values from the titles table but don't show duplicates. SELECT DISTINCT title FROM titles; -# Same as above, but sorted (case-sensitive) by the title values. +-- Same as above, but sorted (case-sensitive) by the title values. SELECT DISTINCT title FROM titles ORDER BY title; -# Show the number of rows in the departments table. +-- Show the number of rows in the departments table. SELECT COUNT(*) FROM departments; -# Show the number of rows in the departments table that -# have "en" as a substring of the dept_name value. +-- Show the number of rows in the departments table that +-- have "en" as a substring of the dept_name value. SELECT COUNT(*) FROM departments WHERE dept_name LIKE "%en%"; -# A JOIN of information from multiple tables: the titles table shows -# who had what job titles, by their employee numbers, from what -# date to what date. Retrieve this information, but instead of the -# employee number, use the employee number as a cross-reference to -# the employees table to get each employee's first and last name -# instead. (And only get 10 rows.) +-- A JOIN of information from multiple tables: the titles table shows +-- who had what job titles, by their employee numbers, from what +-- date to what date. Retrieve this information, but instead of the +-- employee number, use the employee number as a cross-reference to +-- the employees table to get each employee's first and last name +-- instead. (And only get 10 rows.) SELECT employees.first_name, employees.last_name, titles.title, titles.from_date, titles.to_date FROM titles INNER JOIN employees ON employees.emp_no = titles.emp_no LIMIT 10; -# List all the tables in all the databases. Implementations typically provide -# their own shortcut command to do this with the database currently in use. +-- List all the tables in all the databases. Implementations typically provide +-- their own shortcut command to do this with the database currently in use. SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'; -# Create a table called tablename1, with the two columns shown, for -# the database currently in use. Lots of other options are available -# for how you specify the columns, such as their datatypes. +-- Create a table called tablename1, with the two columns shown, for +-- the database currently in use. Lots of other options are available +-- for how you specify the columns, such as their datatypes. CREATE TABLE tablename1 (`fname` VARCHAR(20),`lname` VARCHAR(20)); -# Insert a row of data into the table tablename1. This assumes that the -# table has been defined to accept these values as appropriate for it. +-- Insert a row of data into the table tablename1. This assumes that the +-- table has been defined to accept these values as appropriate for it. INSERT INTO tablename1 VALUES('Richard','Mutt'); -# In tablename1, change the fname value to "John" -# for all rows that have an lname value of "Mutt". +-- In tablename1, change the fname value to "John" +-- for all rows that have an lname value of "Mutt". UPDATE tablename1 SET fname="John" WHERE lname="Mutt"; -# Delete rows from the tablename1 table -# where the lname value begins with "M". +-- Delete rows from the tablename1 table +-- where the lname value begins with "M". DELETE FROM tablename1 WHERE lname like "M%"; -# Delete all rows from the tablename1 table, leaving the empty table. +-- Delete all rows from the tablename1 table, leaving the empty table. DELETE FROM tablename1; -# Remove the entire tablename1 table. +-- Remove the entire tablename1 table. DROP TABLE tablename1; ``` -- cgit v1.2.3 From f363c6459f31665ef3d635a6a22cc25ef6a146b5 Mon Sep 17 00:00:00 2001 From: Adam Bard Date: Sun, 4 Nov 2018 09:37:45 -0800 Subject: Use single quotes --- sql.html.markdown | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 200f4f98..392b0edf 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -27,7 +27,7 @@ DROP DATABASE someDatabase; SHOW DATABASES; -- Use a particular existing database. -USE employees; +USE employees; -- Select all rows and columns from the current database's departments table. -- Default activity is for the interpreter to scroll the results on your screen. @@ -43,12 +43,12 @@ SELECT dept_no, SELECT * FROM departments LIMIT 5; -- Retrieve dept_name column values from the departments --- table where the dept_name value has the substring "en". -SELECT dept_name FROM departments WHERE dept_name LIKE "%en%"; +-- table where the dept_name value has the substring 'en'. +SELECT dept_name FROM departments WHERE dept_name LIKE '%en%'; -- Retrieve all columns from the departments table where the dept_name --- column starts with an "S" and has exactly 4 characters after it. -SELECT * FROM departments WHERE dept_name LIKE "S____"; +-- column starts with an 'S' and has exactly 4 characters after it. +SELECT * FROM departments WHERE dept_name LIKE 'S____'; -- Select title values from the titles table but don't show duplicates. SELECT DISTINCT title FROM titles; @@ -60,8 +60,8 @@ SELECT DISTINCT title FROM titles ORDER BY title; SELECT COUNT(*) FROM departments; -- Show the number of rows in the departments table that --- have "en" as a substring of the dept_name value. -SELECT COUNT(*) FROM departments WHERE dept_name LIKE "%en%"; +-- have 'en' as a substring of the dept_name value. +SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%'; -- A JOIN of information from multiple tables: the titles table shows -- who had what job titles, by their employee numbers, from what @@ -89,13 +89,13 @@ CREATE TABLE tablename1 (`fname` VARCHAR(20),`lname` VARCHAR(20)); -- table has been defined to accept these values as appropriate for it. INSERT INTO tablename1 VALUES('Richard','Mutt'); --- In tablename1, change the fname value to "John" --- for all rows that have an lname value of "Mutt". -UPDATE tablename1 SET fname="John" WHERE lname="Mutt"; +-- In tablename1, change the fname value to 'John' +-- for all rows that have an lname value of 'Mutt'. +UPDATE tablename1 SET fname='John' WHERE lname='Mutt'; -- Delete rows from the tablename1 table --- where the lname value begins with "M". -DELETE FROM tablename1 WHERE lname like "M%"; +-- where the lname value begins with 'M'. +DELETE FROM tablename1 WHERE lname like 'M%'; -- Delete all rows from the tablename1 table, leaving the empty table. DELETE FROM tablename1; -- cgit v1.2.3 From 45d49bc05ede7bb038dbdc7e8f5962497645bb3b Mon Sep 17 00:00:00 2001 From: Adam Bard Date: Sun, 4 Nov 2018 09:52:15 -0800 Subject: Eschew backticks in sql --- sql.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 392b0edf..2bece208 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -83,7 +83,7 @@ WHERE TABLE_TYPE='BASE TABLE'; -- Create a table called tablename1, with the two columns shown, for -- the database currently in use. Lots of other options are available -- for how you specify the columns, such as their datatypes. -CREATE TABLE tablename1 (`fname` VARCHAR(20),`lname` VARCHAR(20)); +CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20)); -- Insert a row of data into the table tablename1. This assumes that the -- table has been defined to accept these values as appropriate for it. -- cgit v1.2.3 From 5fe22c9c770b6a391a18c3e7f44c1e5b4620ae40 Mon Sep 17 00:00:00 2001 From: Apoorv Choubey Date: Sat, 12 Oct 2019 20:25:05 +0530 Subject: add SQL resource --- sql.html.markdown | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 2bece208..5edf0f7c 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -9,14 +9,14 @@ Structured Query Language (SQL) is an ISO standard language for creating and wor Implementations typically provide a command line prompt where you can enter the commands shown here interactively, and they also offer a way to execute a series of these commands stored in a script file. (Showing that you’re done with the interactive prompt is a good example of something that isn’t standardized--most SQL implementations support the keywords QUIT, EXIT, or both.) -Several of these sample commands assume that the [MySQL employee sample database](https://dev.mysql.com/doc/employee/en/) available on [github](https://github.com/datacharmer/test_db) has already been loaded. The github files are scripts of commands, similar to the relevant commands below, that create and populate tables of data about a fictional company’s employees. The syntax for running these scripts will depend on the SQL implementation you are using. A utility that you run from the operating system prompt is typical. +Several of these sample commands assume that the [MySQL employee sample database](https://dev.mysql.com/doc/employee/en/) available on [github](https://github.com/datacharmer/test_db) has already been loaded. The github files are scripts of commands, similar to the relevant commands below, that create and populate tables of data about a fictional company’s employees. The syntax for running these scripts will depend on the SQL implementation you are using. A utility that you run from the operating system prompt is typical. ```sql -- Comments start with two hyphens. End each command with a semicolon. -- SQL is not case-sensitive about keywords. The sample commands here --- follow the convention of spelling them in upper-case because it makes +-- follow the convention of spelling them in upper-case because it makes -- it easier to distinguish them from database, table, and column names. -- Create and delete a database. Database and table names are case-sensitive. @@ -26,47 +26,47 @@ DROP DATABASE someDatabase; -- List available databases. SHOW DATABASES; --- Use a particular existing database. +-- Use a particular existing database. USE employees; -- Select all rows and columns from the current database's departments table. --- Default activity is for the interpreter to scroll the results on your screen. +-- Default activity is for the interpreter to scroll the results on your screen. SELECT * FROM departments; --- Retrieve all rows from the departments table, --- but only the dept_no and dept_name columns. +-- Retrieve all rows from the departments table, +-- but only the dept_no and dept_name columns. -- Splitting up commands across lines is OK. SELECT dept_no, dept_name FROM departments; --- Retrieve all departments columns, but just 5 rows. +-- Retrieve all departments columns, but just 5 rows. SELECT * FROM departments LIMIT 5; -- Retrieve dept_name column values from the departments --- table where the dept_name value has the substring 'en'. +-- table where the dept_name value has the substring 'en'. SELECT dept_name FROM departments WHERE dept_name LIKE '%en%'; -- Retrieve all columns from the departments table where the dept_name --- column starts with an 'S' and has exactly 4 characters after it. +-- column starts with an 'S' and has exactly 4 characters after it. SELECT * FROM departments WHERE dept_name LIKE 'S____'; -- Select title values from the titles table but don't show duplicates. SELECT DISTINCT title FROM titles; --- Same as above, but sorted (case-sensitive) by the title values. +-- Same as above, but sorted (case-sensitive) by the title values. SELECT DISTINCT title FROM titles ORDER BY title; -- Show the number of rows in the departments table. SELECT COUNT(*) FROM departments; -- Show the number of rows in the departments table that --- have 'en' as a substring of the dept_name value. +-- have 'en' as a substring of the dept_name value. SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%'; --- A JOIN of information from multiple tables: the titles table shows --- who had what job titles, by their employee numbers, from what +-- A JOIN of information from multiple tables: the titles table shows +-- who had what job titles, by their employee numbers, from what -- date to what date. Retrieve this information, but instead of the --- employee number, use the employee number as a cross-reference to +-- employee number, use the employee number as a cross-reference to -- the employees table to get each employee's first and last name -- instead. (And only get 10 rows.) @@ -85,12 +85,12 @@ WHERE TABLE_TYPE='BASE TABLE'; -- for how you specify the columns, such as their datatypes. CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20)); --- Insert a row of data into the table tablename1. This assumes that the --- table has been defined to accept these values as appropriate for it. +-- Insert a row of data into the table tablename1. This assumes that the +-- table has been defined to accept these values as appropriate for it. INSERT INTO tablename1 VALUES('Richard','Mutt'); -- In tablename1, change the fname value to 'John' --- for all rows that have an lname value of 'Mutt'. +-- for all rows that have an lname value of 'Mutt'. UPDATE tablename1 SET fname='John' WHERE lname='Mutt'; -- Delete rows from the tablename1 table @@ -100,6 +100,11 @@ DELETE FROM tablename1 WHERE lname like 'M%'; -- Delete all rows from the tablename1 table, leaving the empty table. DELETE FROM tablename1; --- Remove the entire tablename1 table. +-- Remove the entire tablename1 table. DROP TABLE tablename1; ``` + +## Further Reading + +* [Codecademy - SQL](https://www.codecademy.com/learn/learn-sql) A good introduction to SQL in a "learn by doing it" format. +* [Database System Concepts](https://www.db-book.com) book's Chapter 3 - Introduction to SQL has an in depth explanation of SQL concepts. -- cgit v1.2.3 From df819e7fd4ffc454a42ba2b579eac24fc2d5b938 Mon Sep 17 00:00:00 2001 From: shmkane Date: Thu, 10 Sep 2020 18:16:32 -0400 Subject: [sql / en] Fix Ambiguous ISO - [ ] I solemnly swear that this is all original content of which I am the original author - [ ] Pull request title is prepended with `[language/lang-code]` - [ ] Pull request touches only one file (or a set of logically related files with similar changes made) - [ ] Content changes are aimed at *intermediate to experienced programmers* (this is a poor format for explaining fundamental programming concepts) - [ ] If you've changed any part of the YAML Frontmatter, make sure it is formatted according to [CONTRIBUTING.md](https://github.com/adambard/learnxinyminutes-docs/blob/master/CONTRIBUTING.markdown) - [ ] Yes, I have double-checked quotes and field names! --- sql.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index 5edf0f7c..cf2ab127 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -5,7 +5,7 @@ contributors: - ["Bob DuCharme", "http://bobdc.com/"] --- -Structured Query Language (SQL) is an ISO standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. +Structured Query Language (SQL) is an [ISO/IEC 9075](https://www.iso.org/standard/53686.html) standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. Implementations typically provide a command line prompt where you can enter the commands shown here interactively, and they also offer a way to execute a series of these commands stored in a script file. (Showing that you’re done with the interactive prompt is a good example of something that isn’t standardized--most SQL implementations support the keywords QUIT, EXIT, or both.) -- cgit v1.2.3 From 6c77286752ab76ec65629270b86e0b96cfe016bb Mon Sep 17 00:00:00 2001 From: shmkane Date: Tue, 22 Sep 2020 09:13:57 -0400 Subject: Update URL --- sql.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql.html.markdown') diff --git a/sql.html.markdown b/sql.html.markdown index cf2ab127..685e522d 100644 --- a/sql.html.markdown +++ b/sql.html.markdown @@ -5,7 +5,7 @@ contributors: - ["Bob DuCharme", "http://bobdc.com/"] --- -Structured Query Language (SQL) is an [ISO/IEC 9075](https://www.iso.org/standard/53686.html) standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. +Structured Query Language (SQL) is an [ISO/IEC 9075](https://www.iso.org/standard/63555.html) standard language for creating and working with databases stored in a set of tables. Implementations usually add their own extensions to the language; [Comparison of different SQL implementations](http://troels.arvin.dk/db/rdbms/) is a good reference on product differences. Implementations typically provide a command line prompt where you can enter the commands shown here interactively, and they also offer a way to execute a series of these commands stored in a script file. (Showing that you’re done with the interactive prompt is a good example of something that isn’t standardized--most SQL implementations support the keywords QUIT, EXIT, or both.) -- cgit v1.2.3