sql查询

一、常用格式

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

原文地址:https://www.cnblogs.com/jksun/p/8310106.html