檢索數據:
SELECT語句
檢索一列
檢索從A表中檢索出一個名爲a的列(輸出數據的順序可能是數據被添加到表中的順序,不必糾結)
SELECT a
FROM p;
注意: 多條SQL語句必須以(;)分隔,多數DBMS不需要再單條SQL語句後加分號,不排除個例。加上分號也沒關係。
SQL語句不區分大小寫。一般對SQL的關鍵字使用大寫,對列名和表名使用小寫。SQL語句可以寫成一行,也可以是多行。但多行更容易閱讀和調試。
檢索多個列
SELECT a,b,c
FROM p;
返回的一般是原始的無格式的數據。
檢索所有列
(給定一個通配符[*],則返回表中所有列) 這樣可以檢索出未知名字的列
SELECT *
FROM p;
檢索不同值
SELECT DISTINCT p_name
FROM p;
返回p表下所有p_name列不重複的所有值
限制結果
可用top來限制最多返回多少行
SELECT TOP 5 p_name
FROM p;
只返回前5行數據
DB2
SELECT p_name
FROM p
FETCH FIRST 5 ROWS ONLY;
Oracle
SELECT p_name
FROM p
WHERE ROWNUM <=5;
MySQL、MariaDB、PostgreSQL、SQLite
SELECT p_name
FROM p
LIMIT 5;
並非所有的SQL實現都一樣
註釋
行類註釋
SELECT p_name --行內註釋
FROM p;
#行內註釋
SELECT p_name
FROM p;
多行註釋
/*註釋*/
排序
ORDER BY
取一個或多個列的名字排序
SELECT p_name
FROM p
ORDER BY p_name;
多個列排序
至少3個以上
SELECT p_name,p_id,p_age
FROM p
ORDER BY p_name,p_id;
先按p_name,再按p_id
按列位置排序
SELECT p_id,p_name,p_age
FROM p
ORDER BY 007,008;
指定排序方向
ORDER BY默認升序,加DESC變爲降序
SELECT p_id,p_name,p_age
FROM p
ORDER BY p_age DESC;
若打算用多個列排序
SELECT p_id,p_name,p_age
FROM p
ORDER BY p_age DESC,p_name;