Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SQL(StructuredQueryLanguage)inonepage:SQL.SU
SQL(StructuredQueryLanguage)inone
Tableofcontents:DatabaseManipulation(CREATE,DROPDATABASE),TableManipulation(CREATE,ALTER,DROP
TABLE,DataTypes),IndexManipulation(CREATE,DROPINDEX),DataManipulation(INSERT,UPDATE,DELETE,
TRUNCATETABLE),Select(SELECT,FROM,WHERE,ORDERBY,GROUPBY,HAVING,Operators,Aggregate
functions),Alias,Join,UNION,SELECTINTO/IN,CREATEVIEW.
DatabaseManipulation
CREATEDATABASEdatabase_name
DROPDATABASEdatabase_name
Createadatabase
Deleteadatabase
CREATEDATABASEMy_First_Database
DROPDATABASEMy_First_Database
CREATETABLE"table_name"
("column_1""data_type_for_column_1",
"column_2""data_type_for_column_2",
...)
Createatableinadatabase.
TableManipulation
DataTypes
Description
DataType
integer(size)
int(size)
smallint(size)
tinyint(size)
decimal(size,d)
numeric(size,d)
char(size)
varchar(size)
date(yyyymmdd)
Holdintegersonly.Themaximum
numberofdigitsarespecifiedin
parenthesis.
Holdnumberswithfractions.The
maximumnumberofdigitsare
specifiedin"size".Themaximum
numberofdigitstotherightofthe
decimalisspecifiedin"d".
Holdsafixedlengthstring(can
containletters,numbers,andspecial
characters).Thefixedsizeisspecified
inparenthesis.
Holdsavariablelengthstring(can
containletters,numbers,andspecial
characters).Themaximumsizeis
specifiedinparenthesis.
Holdsadate
ALTERTABLEtable_nameADDcolumn_namedatatype
ALTERTABLEtable_nameDDROPcolumn_namedatatype
DROPTABLEtable_name
Addcolumnsinanexistingtable.
Deletecolumnsinanexistingtable.
Deleteatable.
CREATEINDEXindex_name
ONtable_name(column_name_1,column_name_2,...)
CREATEUNIQUEINDEXindex_name
ONtable_name(column_name_1,column_name_2,...)
DROPINDEXtable_name.index_name
Createasimpleindex.
INSERTINTOtable_name
VALUES(value_1,value_2,....)
INSERTINTOtable_name(column1,column2,...)
VALUES(value_1,value_2,....)
UPDATEtable_name
SETcolumn_name_1=new_value_1,column_name_2=
new_value_2
WHEREcolumn_name=some_value
DELETEFROMtable_name
WHEREcolumn_name=some_value
TRUNCATETABLEtable_name
Insertnewrowsintoatable.
Selectdatafromatable.
Selectalldatafromatable.
Selectonlydistinct(different)datafromatable.
Selectonlycertaindatafromatable.
SELECTcolumn_name(s)FROMtable_name
SELECT*FROMtable_name
SELECTDISTINCTcolumn_name(s)FROMtable_name
SELECTcolumn_name(s)FROMtable_name
WHEREcolumnoperatorvalue
ANDcolumnoperatorvalue
ORcolumnoperatorvalue
AND(...OR...)
...
http://www.cheatsheets.org/sites/sql.su/
CREATETABLEPerson
(LastNamevarchar,
FirstNamevarchar,
Addressvarchar,
Ageint)
ALTERTABLEPersonADDSexchar(6)
ALTERTABLEPersonDROPSexchar(6)
DROPTABLEPerson
IndexManipulation
CREATEINDEXPersonIndex
ONPerson(LastName,FirstName)
CREATEUNIQUEINDEXPersonIndex
ONPerson(LastNameDESC)
DROPINDEXPerson.PersonIndex
Createauniqueindex.
Deleteaindex.
DataManipulation
Updateoneorseveralcolumnsinrows.
Deleterowsinatable.
INSERTINTOPersons
VALUES('Hussein','Saddam','WhiteHous
INSERTINTOPersons(LastName,FirstNa
VALUES('Hussein','Saddam','WhiteHous
UPDATEPerson
SETAddress='ups'
WHERELastName='Hussein'
DELETEFROMPersonWHERELastNam
Deletesthedatainsidethetable.
TRUNCATETABLEPerson
Select
Operator
=
<>
>
Operators
Description
Equal
Notequal
Greaterthan
SELECTLastName,FirstNameFROMPer
SELECT*FROMPersons
SELECTDISTINCTLastName,FirstName
SELECT*FROMPersonsWHEREsex='fe
SELECT*FROMPersonsWHEREYear>
SELECT*FROMPersons
WHEREFirstName='Saddam'
ANDLastName='Hussein'
SELECT*FROMPersons
WHEREFirstName='Saddam'
1/3
1/11/2016
SQL(StructuredQueryLanguage)inonepage:SQL.SU
SELECTcolumn_name(s)FROMtable_name
WHEREcolumn_nameIN(value1,value2,...)
SELECTcolumn_name(s)FROMtable_name
ORDERBYrow_1,row_2DESC,row_3ASC,...
<
>=
<=
BETWEEN
LIKE
Lessthan
Greaterthanorequal
Lessthanorequal
Betweenaninclusiverange
Searchforapattern.
A"%"signcanbeusedtodefinewildcards
(missinglettersinthepattern)bothbefore
andafterthepattern.
TheINoperatormaybeusedifyouknowtheexactvalue
youwanttoreturnforatleastoneofthecolumns.
Selectdatafromatablewithsorttherows.
ORLastName='Hussein'
SELECT*FROMPersonsWHERE
(FirstName='Tove'ORFirstName='Stephen
ANDLastName='Svendson'
SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersonsWHEREFirstN
SELECT*FROMPersons
WHERELastNameIN('Hansen','Pettersen'
SELECT*FROMPersons
ORDERBYLastName
Note:
SELECTcolumn_1,...,SUM(group_column_name)
FROMtable_name
GROUPBYgroup_column_name
SELECTFirstName,LastNameFROMPer
ORDERBYLastNameDESC
SELECTCompany,OrderNumberFROMO
ORDERBYCompanyDESC,OrderNumbe
SELECTCompany,SUM(Amount)
FROMSales
GROUPBYCompany
Someaggregatefunctions
Function
Description
AVG(column)
COUNT(column)
MAX(column)
MIN(column)
SUM(column)
Returnstheaveragevalueofa
column
Returnsthenumberofrows(without
aNULLvalue)ofacolumn
Returnsthehighestvalueofa
column
Returnsthelowestvalueofa
column
Returnsthetotalsumofacolumn
SELECTcolumn_1,...,SUM(group_column_name)
FROMtable_name
GROUPBYgroup_column_name
HAVINGSUM(group_column_name)conditionvalue
SELECTcolumn_nameAScolumn_aliasFROMtable_name
Columnnamealias
SELECTtable_alias.column_nameFROMtable_nameAS
table_alias
Tablenamealias
SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
INNERJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield
SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
LEFTJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield
SELECTcolumn_1_name,column_2_name,...
FROMfirst_table_name
RIGHTJOINsecond_table_name
ONfirst_table_name.keyfield=
second_table_name.foreign_keyfield
TheINNERJOINreturnsallrowsfrombothtableswhere
thereisamatch.Iftherearerowsinfirsttablethatdonothave
matchesinsecondtable,thoserowswillnotbelisted.
SELECTEmployees.Name,Orders.Product
FROMEmployees
INNERJOINOrders
ONEmployees.Employee_ID=Orders.Emp
TheLEFTJOINreturnsalltherowsfromthefirsttable,
even if there are no matches in the second table. If there are
rows in first table that do not have matches in second table,
thoserowsalsowillbelisted.
SELECTEmployees.Name,Orders.Product
FROMEmployees
LEFTJOINOrders
ONEmployees.Employee_ID=Orders.Emp
The RIGHT JOIN returns all the rows from the second
table,eveniftherearenomatchesinthefirsttable.Iftherehad
beenanyrowsinsecondtablethatdidnothavematchesinfirst
table,thoserowsalsowouldhavebeenlisted.
SELECTEmployees.Name,Orders.Product
FROMEmployees
RIGHTJOINOrders
ONEmployees.Employee_ID=Orders.Emp
SQL_Statement_1
UNION
SQL_Statement_2
SQL_Statement_1
UNIONALL
SQL_Statement_2
SELECTcolumn_name(s)
INTOnew_table_name
FROMsource_table_name
WHEREquery
Selectdatafromtable(S)andinsertitintoanothertable.
http://www.cheatsheets.org/sites/sql.su/
SELECTCompany,SUM(Amount)
FROMSales
GROUPBYCompany
HAVINGSUM(Amount)>10000
Alias
SELECTLastNameASFamily,FirstName
FROMPersons
SELECTLastName,FirstName
FROMPersonsASEmployees
Join
UNION
SELECTE_NameFROMEmployees_Norw
UNION
SELECTE_NameFROMEmployees_USA
SELECTE_NameFROMEmployees_Norw
UNION
SELECTE_NameFROMEmployees_USA
SELECTINTO/IN
SELECT*INTOPersons_backupFROMP
2/3
1/11/2016
SQL(StructuredQueryLanguage)inonepage:SQL.SU
SELECTcolumn_name(s)
INexternal_database_name
FROMsource_table_name
WHEREquery
Selectdatafromtable(S)andinsertitinanotherdatabase.
CREATEVIEWview_nameAS
SELECTcolumn_name(s)
FROMtable_name
WHEREcondition
CreateavirtualtablebasedontheresultsetofaSELECT
statement.
SELECTPersons.*INTOPersonsIN'Back
PersonsWHERECity='Sandnes'
CREATEVIEW
CREATEVIEW[CurrentProductList]AS
SELECTProductID,ProductName
FROMProducts
WHEREDiscontinued=No
OTHER
PublicDomian20062015AlexanderKrassotkin
http://www.cheatsheets.org/sites/sql.su/
3/3