1. group-by 重点: 除了有包括函数的栏位外,我们都需要将其放在 GROUP BY 的子句中。
sql使用例子:
【SELECT Store_Name, SUM(Sales) FROM Store_Information GROUP BY Store_NameX`;】
2. HAVING 对函数产生的值来设定条件
【SELECT Store_Name, SUM(Sales) FROM Store_Information GROUP BY Store_Name HAVING SUM(sales) > 1500;】
3. 左右连接 A.B的结果以一个为标准集合
oracle写法 :【WHERE A1.Store_Name = A2.Store_Name (+) 】 是以 A1表为主
4.INTERSECT 例子如下 并集 A&B A和B中要同时存在
[SQL语句 1]
INTERSECT
[SQL语句 2];
INTERSECT 则比较像 AND ( 这个值要同时存在于第一句和第二句才会被选出)。UNION 是联集,而 INTERSECT 是交集。
5. MINUS 指令是运用在两个 SQL 语句上。 差集 A,B 结果集合为A中存在,B中不存在的
6.连接字符串的方法
- MySQL: CONCAT( )
- Oracle: CONCAT( ), ||
- Oracle 的 CONCAT( ) 只允许两个参数;
- 一次串连多个字串 用 ||
- SQL Server: +
7. substring 函数.
- MySQL: SUBSTR( ), SUBSTRING( )
- Oracle: SUBSTR( )
- 例子:SELECT SUBSTR ('Los Angeles', 3) from dual; 结果为 ‘s Angeles’
- SQL Server: SUBSTRING( )
8. TRIM 函数
- MySQL: TRIM( ), RTRIM( ), LTRIM( )
- Oracle: TRIM( ), RTRIM( ), LTRIM( )
- SQL Server: RTRIM( ), LTRIM( )
SELECT TRIM(' Sample ') from dual ; 结果为‘Sample’
9.建表
CREATE TABLE "表格名"
("栏位 1" "栏位 1 资料种类",
"栏位 2" "栏位 2 资料种类",
... );
10. 建视图
CREATE VIEW "VIEW_NAME" AS "SQL 语句";
11 . 建索引
CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME);
12.修改表结构
加一个栏位 ALTER TABLE Customer ADD "栏位名称" char(1);
删去一个栏位: ALTER TABLE Customer DROP "栏位名称";
修改栏位名 ALTER TABLE Customer CHANGE "旧栏位名" "新栏位名" char(50);
删除栏位 ALTER TABLE Customer MODIFY "栏位名称" char(30);
13. insert into 表名1 (列名1,列名2。。。)select (列名3,列名4。。。) from 表名2
举例:INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT store_name, Sales, Txn_Date
FROM Sales_Information
WHERE TO_CHAR (Txn_Date, 'yyyy')= 1998;