视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
常用SQL语句(嵌套子查询/随机等等)详细整理
2020-11-09 07:07:57 责编:小采
文档


1.SQL 插入语句得到自动生成的递增ID值
代码如下:
insert into Table1(Name,des,num) values ('ltp','thisisbest',10);
select @@identity as 'Id'

2.实现是1 或0 想显示为男或女
代码如下:
select name,Sex=(case Sex when '1' then '男' when '0' then '女' end) from Tablename

3.嵌套子查询
代码如下:
select a,b,c from Table1 where a IN (select a from Table2)

4.显示文章、提交人和最后回复时间
代码如下:
select a.title,a.username,b.adddate from tablename a,(select max(adddate) adddate from tablename where tablename.title=a.title) b

5.随机提取条记录的例子
代码如下:
SQL Server:Select Top 10 * From Tablename Order By NewID()

Access:Select Top 10 * From Tablename Order By Rnd(ID)

Rnd(ID) 其中的ID 是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段UserName

Select Top 10 * From 表Order BY Rnd(Len(UserName))

MySql:Select * From 表Order By Rand() Limit 10

6.在同一表内找相同属性的记录
代码如下:
select UserID from Accounts_Users where UserName is not null group by UserID having count (*)>1

7.查询类别所有的产品对应数据
代码如下:
SELECT CategoryName,ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

8.按范围查询编号在2 到5 之间的用户信息
代码如下:
select * from UserValue where UserID between 2 and 5;

9.日程安排提前5 分钟提醒
代码如下:
Select * from TabSchedule where datediff(minute,getdate(),开始时间)<5

10.得出某日期所在月份的最大天数
代码如下:
SELECT DAY(DATEADD(dd, -DAY('2008-02-13'),DATEADD(mm, 1, '2008-02-13'))) AS 'DayNumber'

11.按姓氏笔画排序
代码如下:
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

12.通配符的一些用法
代码如下:
1.select * from tablename where column1 like '[A-M]%' 这样可以选择出column 字段中首字母在A-M 之间的记录
2.select * from tablename where column1 like '[ABC]%' 这样可以选择出column 字段中首字母是A 或者B 或者C 的记录
3.select * from tablename where column1 like '[A-CG]%' 这样可以选择出column 字段中首字母在A-C 之间的或者是G 的记录
4.select * from tablename where column1 like '[^C]%' 这样可以选择出column 字段中首字母不是C 的记录

13.复制表结构(只复制结构,源表名:a,目标表名:b)
代码如下:
select * into b from a where 1<>1 或 select top 0 * into [b] from [a]

14.复制表数据(复制数据,源表名:a,目标表名:b)
代码如下:
insert into b(Name,des,num) select Name,des,num from Table1;

您可能感兴趣的文章:

  • 使用SQL Server数据库嵌套子查询的方法
  • SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
  • SQL Server高级内容之子查询和表链接概述及使用
  • 详细讲述MySQL中的子查询操作
  • 浅谈MySQL中的子查询优化技巧
  • 对MySQL子查询的简单改写优化
  • 详解MySql基本查询、连接查询、子查询、正则表达查询
  • SQL编程之子查询及注意事项
  • 下载本文
    显示全文
    专题