一、常用格式
select * from 表名 where
group by (不能在group by 后面使用类型为text,ntext,image的列)(select子句必须包含在聚合函数或group by 子句中)
having
order by
二、 部分关键字
where 查询 逻辑运算符 not(最高)然后是and 最后是 or
between and 实质是大于等于第一个值 小于等于第二个值
is null 在where字句中不能使用 = 对空值进行判断 只能使用is(not)null对空值进行查询
in查询 where 查询表达式 in(子查询)当子查询产生一系列值时适合用带in的嵌套查询
distinct 主要用来从select语句的结果集中去掉重复的记录
top select top n[percent] from table 返回几行或者是行的百分之n
三 、外部联接
1、外联接:select * from table1 left join table2 on table1.column=table2.column 结果集包括左表中所有的行,如果左表的某一行在右表中没有匹配行,则在关联的结果集行
中显示空值
2、 右外联接:类似于左外联接
3 、完整外联接: select * from table1 full join table2 on table1.column=table2.column 结果集显示所有行,没有数据的显示空值
四 、 联接多表的方法:
1、 在where子句中联接多表 select * from table1,table2,table3 where table1.column=table2.column and table2.column=table3.column
2 、在from子句中联接多表 select * from table1 join table2 join table3 on table1.column=table2.column on table2.column=table3.column
注意:当在from子句中联接多表时,on语句必须遵循from后面所列表的顺序
五、CASE 函数
case函数用于计算条件列表并返回多个可能结果表达式之一
1、 简单case函数将某个表达式与一组简单表达式进行比较以确定结果
格式:
case 表达式
when sqlserver 表达式 then 任意有效的sql表达式
[多个 when sqlserver 表达式 then 任意有效的sql表达式]
else 任意有效的sql表达式
end
举例:
select name,sex,age,
'年龄' =case
when age>25 then '25yishang'
when age<25 then '25yixia'
end
from people
2 、case搜索函数计算一组布尔表达式以确定结果
格式:
case
when ' sqlserver 表达式' then 任意有效的sql表达式
[多个 when sqlserver 表达式 then 任意有效的sql表达式]
else 任意有效的sql表达式
end
举例:
update people set
age=
case
when sex=1 then age+1
when sex=2 then age-1
end