GO ON ---(SQL高級(jí))
SQL INNER JOIN 關(guān)鍵字(在表中存在至少一個(gè)匹配時(shí),INNER JOIN 關(guān)鍵字返回行)
SELECT 列名稱 FROM ?表名稱1 ? INNER JOIN ?表名稱2 ? ? ON 表1.列名= 表名2.列名 ?;
SELECT colunm_name FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name
注釋:inner join 與join是相同的偎窘。
SQL LEFT JOIN 關(guān)鍵字(從左表 (table_name1) 那里返回所有的行荡灾,即使在右表 (table_name2) 中沒(méi)有匹配的行)
SELECT 列名稱 FROM ?表名稱1 ? LEFT ?JOIN 表名稱2 ? ?ON 表1.列名=表2.列名鸣驱;
SELECT colunm_name FROM table_name1 INNER LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
注釋:在某些數(shù)據(jù)庫(kù)中哮内, LEFT JOIN 稱為 LEFT OUTER JOIN圈暗。
eg:SELECT Person.Lastname,Person.Firstname,Orders.OrderNo FROM Person LEFT JOIN Orders ON Person.person_Id=Orders.Order_Id ? ?ORDER BY Person.Lastname
*RIGHT JOIN/FULL JOIN 語(yǔ)法同上
RIGHT JOIN 從右邊那里返回所有的行粥鞋,即使左表上沒(méi)有匹配的行缘挽。
SELECT 列名稱 ?FROM ?表名1 ? ?RIGHT ?JOIN ?表名2 ?ON 表1.列名=表2.列名;
FULL JOIN ?返回左表與右表所有的行。
SELECT 列名稱 FROM 表名1 ?FULL JOIN 表名2 ? ON ?表1.列名=表2.列名壕曼;
SQL UNION 和 UNION ALL 操作符
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果集苏研。
請(qǐng)注意,UNION 內(nèi)部的 SELECT 語(yǔ)句必須擁有相同數(shù)量的列腮郊。列也必須擁有相似的數(shù)據(jù)類型摹蘑。同時(shí),每條 SELECT 語(yǔ)句中的列的順序必須相同伴榔。
SQL UNION 操作符 用于合并兩個(gè)或多個(gè)SELECT語(yǔ)句的結(jié)果集纹蝴。
UNION 內(nèi)部的SELECT語(yǔ)句必須擁有相同數(shù)量的列,列也必須擁有相似的數(shù)據(jù)類型踪少。
同時(shí)塘安,每條SELECT語(yǔ)句中的列順序必須相同。eg:
select ?列名(s) from 表1 ? UNION ?select 列名(s) from 表2援奢;
SELECT column_name FROM table_name1 UNION SELECT column_name FROM table_name2
注釋:默認(rèn)地兼犯,UNION 操作符選取不同的值。如果允許重復(fù)的值集漾,請(qǐng)使用 UNION ALL
SQL UNION ALL
SELECT column_name FROM table_name1 UNION ALL SELECT? column_name FROM table_name2
select 列名(s)from 表1 ?UNION ALL select 列名(s) from 表2切黔;
另外,UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語(yǔ)句中的列名
啊哈... 因?yàn)槭澜绫ネ驵肆司咂▏?guó)隊(duì)拿了冠軍... 結(jié)果... 第一球還是烏龍球....o(╯□╰)o
SQL SELECT INTO 語(yǔ)句(可用于創(chuàng)建表的備份復(fù)件)
SELECT * INTO new_table_name [IN exrernaldatabase] (另外一個(gè)數(shù)據(jù)庫(kù))FROM old_table_name
select * into 新表名 ?[ IN externaldatabase] from 舊表名纬霞;---------創(chuàng)建表的備份復(fù)件
或者只把希望的列插入新表:
SELECT cloumn_name INTO new_table_name[IN externaldatabase] FROM old_table_name
select ?列名 INTO 新表明 [IN externaldatabase] from 就表名;----把希望的列插入到新表
例驱显。制作 "Persons" 表的備份復(fù)件
SELECT * INTO Persons_backup FROM Persons
IN 子句可用于向另一個(gè)數(shù)據(jù)庫(kù)中拷貝表
SELECT * INTO Persons ? ? IN 'Backup.mdb' FROM Persons诗芜;---向另一個(gè)數(shù)據(jù)庫(kù)拷貝表
如果希望拷貝某些域,可以在select 語(yǔ)句后列出這些域:
select lastname埃疫,firstname into persons_backup from persons;
帶有 WHERE 子句伏恐,
下面的列子通過(guò)從''persons''表中提取居住在''ChengDU‘’的人的信息,創(chuàng)建一個(gè)帶有兩個(gè)列的名為''persons_backup''的表:
SELECT Lastname, Firstname INTO Persons_backup FROM Persons WHERE City='ChengDU'栓霜;
-----被連接的表:
從一個(gè)以上的表中選取數(shù)據(jù)也是可以做到的
下面的例子會(huì)創(chuàng)建一個(gè)名為''persons_order_backup''的新表翠桦,其中包含了從persons和orders兩個(gè)表中取得的信息:
SELECT Person.Lastname,Orders.OrderNo ? ? ? INTO Person_Order_backup ? ? ? ?FROM Person ? ? INNER JOIN Orders ? ? ? ON Person.Id_p=Orders.Id_p;
SQL CREATE DATABASE 語(yǔ)句 用于添加數(shù)據(jù)庫(kù)胳蛮。
eg:CREAT DATABASE database_name销凑;
希望創(chuàng)建一個(gè)名為MY_db的數(shù)據(jù)庫(kù)。
CREAT DATABASE MY_db仅炊;
SQL CREATE TABLE 語(yǔ)句(用于創(chuàng)建數(shù)據(jù)庫(kù)中的表)
CREAT TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
......
)斗幼;
數(shù)據(jù)類型(data_type)規(guī)定了列可容納何種數(shù)據(jù)類型。下面的表格包含了SQL中最常用的數(shù)據(jù)類型:
圖片來(lái)自W3C
創(chuàng)建名為 "Person" 的表茂洒。該表包含 5 個(gè)列孟岛,列名分別是:"Id_P"、"LastName"督勺、"FirstName"渠羞、"Address" 以及 "City"
CREAT TABLE Person
(
Id_P int,
Lastname ? varchar(255),
Firstname ? varchar(255),
Address ? varchar(255),
City ? ? ?varchar(255)
)
Id_P 列的數(shù)據(jù)類型是 int,包含整數(shù)智哀。其余 4 列的數(shù)據(jù)類型是 varchar次询,最大長(zhǎng)度為 255 個(gè)字符。
SQL 約束 (Constraints) :約束用于限制加入表的數(shù)據(jù)的類型
可以在創(chuàng)建表時(shí)規(guī)定約束(通過(guò) CREATE TABLE 語(yǔ)句)瓷叫,或者在表創(chuàng)建之后也可以(通過(guò) ALTER TABLE 語(yǔ)句)屯吊。
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
SQL NOT NULL 約束
NOT NULL 約束強(qiáng)制列不接受 NULL 值。NOT NULL 約束強(qiáng)制字段始終包含值摹菠。這意味著盒卸,如果不向字段添加值,就無(wú)法插入新記錄或者更新記錄次氨。
CREAT TABLE Person
(
Id_p int NOT NULL,
Lastname varchar(255) NOT NULL,
Firstname varchar(255),?
City varchar(255)
)
(′-ω-`)? emm... 先到這蔽介,下班回家煮火鍋去啦啦~~
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處煮寡。