admin管理员组

文章数量:1794759

SQLServer基础语法大全(基础篇)

SQLServer基础语法大全(基础篇)

SQLServer基础语法
  • 一、插入语句
    • 1. 普通插入
    • 2. 表数据查询(复制)插入
  • 二、查询语句
    • 1. 所有数据查询
    • 2. 根据某条件查询前多少条数据
  • 三、更新语句
    • 1. 单表数据更新
    • 2. 多表联合数据更新
  • 四、删除语句
  • 五、case when……else
  • 六、left join(左关联查询)
  • 七、right join(右关联查询)
  • 八、inner join(内关联查询)
  • 九、like
  • 十、concat
  • 十一、charindex
  • 十二、substring
  • 总结


一、插入语句 1. 普通插入

insert into tableA(字段1,字段2,字段3)values(字段值1,字段值2,字段值3) 例:

insert into tableA( userName, userSex, userPhone )values( '张三', '男', '18812345678' ) 2. 表数据查询(复制)插入

insert into tableA(字段1,字段2,字段3)select (字段4,字段5,字段6) from tableB

insert into tableA( userName, userSex, userPhone )select memberName, memberSex, memberPhone from tableB where …… 二、查询语句 1. 所有数据查询

select 字段1,字段2,字段3 from tableA where …… 例:

select userName, userSex, userPhone from tableA where …… 2. 根据某条件查询前多少条数据

select top n 字段1,字段2,字段3 from tableA where …… (n为数据条数) 例(前10条数据):

select top 10 userName, userSex, userPhone from tableA where …… order by userName 三、更新语句 1. 单表数据更新

update tableA set 字段1=‘字段值1’,字段2=‘字段值2’,字段3=‘字段值3’ where…… 例:

update tableA set userName='李四', userSex='男', userPhone='13012345678' where userName='张三' 2. 多表联合数据更新

update a set a.字段1=b.字段4,a.字段2=b.字段5,a.字段3=b.字段6 from tableA a left join tableB b on a.userId=b.userId where…… 例:

update a set a.userName=b.userName, a.userSex=b.userSex, a.userPhone=b.userPhone from tableA a left join tableB on a.userId=b.userId where …… 四、删除语句

delete from tableA where …… 例:

delete from tableA where userName='张三' 五、case when……else

case when 条件1 then ……when 条件2 then……else……end 例:

select case when sexFlag=0 then '女' when sexFlag=1 then '男' else '未识别' end userSex from tableA 六、left join(左关联查询)

结果集返回左表(tableA)所有数据,若左表存在、右表(tableB)无数据则右表数据返回null 例:

select a.userName,--tableA表中人员姓名 b.userOrderId--tableB中人员订单号,若不存在则返回null from tableA a left join tableB b on a.userId=b.userId 七、right join(右关联查询)

结果集返回右表(tableB)所有数据,若右表存在、左表(tableA)无数据则左表数据返回null 例:

select a.userName,--tableA表中人员姓名,若不存在则返回null b.userOrderId--tableB中所有订单号 from tableA a right join tableB b on a.userId=b.userId 八、inner join(内关联查询)

结果集返回左表(tableA)和右表(tableB)都存在的数据 例:

select a.userName,--tableA表中人员姓名 b.userOrderId--tableB中所有订单号 from tableA a inner join tableB b on a.userId=b.userId 九、like

模糊条件查询,查询某个字段值包含某一字符串的结果集 例(查询姓名中含有【国】字的所有人员信):

select …… from tableA where userName like '%国%' 十、concat

字符换拼接组合 例(姓名/性别/手机号组合为一个字段):

select --返回:张三-男-18812345678 CONCAT(userName,'-',userSex,'-',userPhone) as userInfo from tableA where …… 十一、charindex

判断某字段值是否包含某一字符串,若包含则返回字符串的位置(大于0),若不存在则返回0,一般用于筛选条件 例(查询姓名中包含【国】字的所有人员信):

select …… from tableA where charindex('国',userName)>0 十二、substring

截取字符串 例:

select --手机号第4位开始截取,共截取4位 substring(userPhone,4,4) from tableA 总结

以上,即是SQLServer的一些很简单的基础语法,仅供初级阶段参考学习。 一直相信即使再复杂的SQL也只是基础语法的复杂组合,就像不管多少位的两个数字相乘,其实本质都是10以内的乘法而已……

本文标签: 基础语法大全sqlserver