1.top
Select top 30 percent from table1
2.in
Select * from table1 where lastname in (“d”,“b”)
3.like
Select * from table1 where lastname like ‘刘%’
%代表一个或者多个字符,_代表一个字符,[]代表单一字符,[^字符]或[!字符]代表不包含该字符;
select * from table1 where city like '[ALN]%' 从 table1 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人
4.between
Select * from table1 where (number between 0 and 10) and lastname in (“来”,“刘”),因为in的条件中不是数值类型,所以一定要加上引号;
Select * from table1 where date between #01/04/2018# and #30/04/2018#
5.join
Select table1.A,talble2.B from table1 left join table2 on table1.A=table2.A
Left join 即使右表中没有匹配,也会从左表中返回所有的行;
Right join即使左表中没有匹配,也会从右表中返回所有的行;
Inner join 只返回符合条件的记录;
Full join会返回两个表的所有记录,并使用null值作为缺失匹配结果;
inner join 和left join 的区别
6.union和union all
Select table1.a from tale1
Union
Select table2.a from table2
如果多表列不相等,如何进行多表数据合并?需要列字段一一对应,所以需要用一个小技巧:就是添上空的列字段,使得各表字段能一一对应,即Null as 字段名;
两个表的必须有相同数量的列,列也必须有相似的数据类型,列的顺序也必须相同;
Union会去重且排序,union all 不去重不排序;union在运行时先取出几个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集;
7.select…into ...从一个表中选取数据,插入另一个表中;
Select table1.a into table2 from tabel1
8.$是Excel ODBC驱动程序识别XLS文件中sheet时追加的字符;
9.SQL中英文不区分大小写,但标点符号必须是英文半角状态下输入,字段名也必须跟原来的一样;
10.SQL的运算顺序
From—where—group by—having—select—order by
11.transform
Transform可以实现类似透视表一样的结果;
Transform 汇总方式 select 行标签 from 表 group by 行字段 pivot 列标签
12.distinct
Select distinct 要去重的字段1,要去重的字段2 from table1
13. COUNT(*)统计的是结果集的总条数,而COUNT(FName)统计的则是除了结果集中 FName 不为空值(也就是不等于 NULL)的记录的总条数。