SQL SELECT TOP, LIMIT, ROWNUM [TOP LIMIT ROWNUM]
SELECT TOP 子句用于指定要返回的記錄數(shù)量。優(yōu)于千條數(shù)據(jù),大量數(shù)據(jù)查詢影響性能。
SELECT TOP number|percent column_name(s) FROM table_name WHERE condition;
SELECT column_name(s) FROM table_name WHERE condition LIMIT number;
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
WHERE子句中使用LIKE運算符來搜索列中的指定模式 "%"->百分號表示零個,一個或多個字符 "_"->下劃線表示單個字符 [注意]MS Access使用問號(?)百分號和下劃線可組合使用
SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern; [注意] OR AND 也可組合使用
[ charlist ] - 定義要匹配的字符的集合和范圍 [^ charlist ]或[!charlist ] - 定義不匹配字符的集合和范圍
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); [注意]允許WHERE子句中指定多個值。多個OR條件的簡寫。
BETWEEN操作符用于選取介于兩個值之間的數(shù)據(jù)范圍內(nèi)的值;值可以是數(shù)字,文本或日期,BETWEEN包括開始和結(jié)束值。 SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; [注意]BETWEEN 選取介于兩個值之間可能存在[不包含邊界 包含邊界 半包含邊界]
數(shù)據(jù)類型定義了存儲在列中的值的類型。 例如:CHARACTER(N) VARCHAR(N) ... [注意] 數(shù)據(jù)類型的定義在不同的數(shù)據(jù)庫中的定義不一定相同。
關(guān)鍵詞:{ AND / OR ALTER TABLE AS (alias) BETWEEN CREATE DATABASE CREATE TABLE CREATE INDEX CREATE VIEW DELETE DROP DATABASE DROP INDEX DROP TABLE GROUP BY HAVING IN INSERT INTO INNER JOIN LEFT JOIN RIGHT JOIN FULL JOIN LIKE ORDER BY SELECT SELECT * SELECT DISTINCT SELECT INTO SELECT TOP TRUNCATE TABLE UNION UNION ALL UPDATE WHERE }
SQL JOIN 用于把來自兩個或多個表的行結(jié)合起來。 [內(nèi)連接]INNER JOIN:如果表中有至少一個匹配,則返回行 [左連接]LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行 [右連接]RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行 [全連接]FULL JOIN:只要其中一個表中存在匹配,則返回行
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; [注]內(nèi)部鏈接INNER JOIN關(guān)鍵字選擇兩個表中具有匹配值的記錄。
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name; [注]SQL左鏈接LEFT JOIN關(guān)鍵字返回左表(表1)中的所有行,即使在右表(表2)中沒有匹配。如果在正確的表中沒有匹配,結(jié)果是NULL。
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; [注]SQL右鏈接 RIGHT JOIN 關(guān)鍵字返回右表(table2)的所有行,即使在左表(table1)上沒有匹配。如果左表沒有匹配,則結(jié)果為NULL。
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name; [注]當(dāng)左(表1)或右(表2)表記錄匹配時,F(xiàn)ULL OUTER JOIN關(guān)鍵字將返回所有記錄。返回所有結(jié)果集,導(dǎo)致數(shù)據(jù)量巨大。
SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition; [注]自聯(lián)接是一種常規(guī)聯(lián)接,但表本身是連接的。“<>” 可表示自連接。
UNION運算符用于組合兩個或更多SELECT語句的結(jié)果集。
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; [限制]UNION中的每個SELECT語句必須具有相同的列數(shù),這些列也必須具有相似的數(shù)據(jù)類型,每個SELECT語句中的列也必須以相同的順序排列。 [注意]默認(rèn)情況下,UNION 運算符選擇一個不同的值。如果允許重復(fù)值,請使用 UNION ALL。
SELECT INTO 語句從一個表中復(fù)制數(shù)據(jù),然后將數(shù)據(jù)插入到另一個新表中。
[AS 別名]將使用SELECT語句中定義的列名和類型創(chuàng)建新表。您可以使用AS子句來應(yīng)用一個新名稱。
[創(chuàng)建空表]SELECT INTO 語句可以用于在另一種模式下創(chuàng)建一個新的空表。只需添加WHERE子句,使查詢返回時沒有數(shù)據(jù). SELECT * INTO newtable FROM table1 WHERE 1=0;
INSERT INTO table2 SELECT * FROM table1;
DROP INDEX index_name ON table_name
DROP INDEX table_name.index_name DB2/Oracle 的 DROP INDEX DROP INDEX index_name
ALTER TABLE table_name DROP INDEX index_name
DROP TABLE table_name
DROP DATABASE database_name
TRUNCATE TABLE table_name
CREATE DATABASE dbname;
CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... ); [注意]其中:參數(shù)說明 column_name 參數(shù)規(guī)定表中列的名稱。 data_type 參數(shù)規(guī)定列的數(shù)據(jù)類型(例如 varchar、integer、decimal、date 等等)。 size 參數(shù)規(guī)定表中列的最大長度。
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name [注意]某些數(shù)據(jù)庫不支持
ALTER TABLE table_name ALTER COLUMN column_name datatype
ALTER TABLE table_name MODIFY COLUMN column_name datatype
ID int NOT NULL AUTO_INCREMENT, PRIMARY KEY (ID)
ID int IDENTITY(1,1) PRIMARY KEY,
ID Integer PRIMARY KEY AUTOINCREMENT,
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10 [注意]nextval函數(shù) 需在添加記錄時使用
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition [注意]視圖總是顯示最新數(shù)據(jù)!每當(dāng)用戶查詢視圖時,數(shù)據(jù)庫引擎就使用視圖的 SQL 語句重新構(gòu)建數(shù)據(jù)
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
DROP VIEW view_name
NOW() 返回當(dāng)前的日期和時間 CURDATE() 返回當(dāng)前的日期 CURTIME() 返回當(dāng)前的時間 DATE() 提取日期或日期/時間表達(dá)式的日期部分 EXTRACT() 返回日期/時間的單獨部分 DATE_ADD() 向日期添加指定的時間間隔 DATE_SUB() 從日期減去指定的時間間隔 DATEDIFF() 返回兩個日期之間的天數(shù) DATE_FORMAT() 用不同的格式顯示日期/時間
GETDATE() 返回當(dāng)前的日期和時間 DATEPART() 返回日期/時間的單獨部分 DATEADD() 在日期中添加或減去指定的時間間隔 DATEDIFF() 返回兩個日期之間的時間 CONVERT() 用不同的格式顯示日期/時間
[注意]使用Date時,使用DATE可能會方便維護(hù)
DATE - 格式:YYYY-MM-DD DATETIME - 格式:YYYY-MM-DD HH:MM:SS TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS YEAR - 格式:YYYY 或 YY
DATE - 格式:YYYY-MM-DD DATETIME - 格式:YYYY-MM-DD HH:MM:SS SMALLDATETIME - 格式:YYYY-MM-DD HH:MM:SS TIMESTAMP - 格式:唯一的數(shù)字
NULL 空值代表丟失的未知數(shù)據(jù)。 NULL 空值無法和space[空格]或0 比較.
更多建議: