SQL语句的使用(二)

由于近来需要用SQL Server做项目,又因原来粗浅地学过些许简单的SQL语句,故现在结合网上的一些资料写些实用的SQL语句,方便日后给自己查阅,也能和大家一起交流。

1.between的用法

select * from tableName where Field between valueMin and valueMax

select * from tableName where Field not between valueMin and valueMax

在*的地方,也可以替换成具体的字段名。

2.in的用法

select * from tableName where Field  in (value1,value2,...)

select * from tableName where Field not in (value1,value2,...)

3.外连接的用法

左外连接

select tableName1.id, tableName2.id,name,sex,password from tableName1 left out join b on tableName1.id = tableName2.id

右外连接

select tableName1.id, tableName2.id,name,sex,password from tableName1 right out join b on tableName1.id = tableName2.id

全外连接

select tableName1.id, tableName2.id,name,sex,password from tableName1 all/full out join b on tableName1.id = tableName2.id

注意:当进行连接的表中有相同名字的字段,需要用表名.字段名来读取数据

4.子查询

select * from tableName1 where Field in (select Field from tableName2)

其实,式子中第一个Field和第二个Field是不同的。SQL中的子查询是非常重要的一部分,也是比较难学的一部分,因为逻辑性需要比较强,所以在这里不多做介绍,之后有时间会单独整理一篇出来。

5.查询表中前N条数据

select top 5 from tableName

这里的top 5中的数字5是可变的,可以任意改变,但注意不能超过表中的数据条数总和

select top N from tableName order by Field

这里在语句的后面加上order by这个关键字,就是按照某个字段进行排序。

6.两张关联表,删除主表中已经在副表中没有的信息

delete from tableName1 where not exists (select * from tableName2 where tableName1.Field=tableName2.Field)

7.四表联查问题

select * from tableName1 left inner join tableName2 on tableName1.Field=tableName2.Field right inner join tableName3 on tableName1.Field=tableName3.Field inner join tableName4 on tableName1.Field=tableName4.Field

其实,这里的实质就是用内外连接对四个表进行关联。innner和out的区别就在于内连接和外连接的区别。

8.一条SQL语句搞定数据库分页

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

这个是网上原本的一个SQL语句,这里就作为分享,也有待探究。


暂时更新这么多内容,本人还是菜鸟阶级,所以只能跟大家分享这些比较浅显的内容。有句话说得好,革命尚未成功,同志仍需努力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值