1,union,union all,两个表中数据的并,前者去掉重复的,后者不去重复的显示所有的数据。
2,intersect,两个表数据的交集
3,minus,两个表结果的减
4,不同列字符串的链接:
- MySQL: CONCAT()
- Oracle: CONCAT(), ||
- SQL Server: +
CONCAT() 的语法如下: CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。
5,substring:字符串截取,
- MySQL: SUBSTR(), SUBSTRING()
- Oracle: SUBSTR()
- SQL Server: SUBSTRING()
其中SUBSTR(str,pos),SUBSTR(str,pos,len),substring(str,pos,len)str表示所要截取的字符串,pos表示要开始截取的位置,len表示截取的长度, 注意: 索引都是从1开始
6,去掉字符串中的空格:
- MySQL: TRIM(), RTRIM(), LTRIM()
- Oracle: RTRIM(), LTRIM()
- SQL Server: RTRIM(), LTRIM()
7,alter table:add 列名
drop column 列名
8,set ansi_nulls on
指定在与 Null 值一起使用等于 (=) 和不等于 (<>) 比较运算符时采用符合 ISO 标准的行为。
当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。
当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵守 ISO 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。
所以,要查询null值是要用is null ,而不是=null
9,select into
从一个表中读取数据到另一个表中。用法:select * into new_tablename from old_tablename
IN 子句可用于向另一个数据库中拷贝表:SELECT
* INTO
Persons IN
'Backup.mdb' FROM Persons