Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为大家提供关于数据库教程相关的教程网站知识。

SQL数据库语句的各个关键字的解析过程详细总结1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

由于最近需要做一些sql query性能提升的研究,因此研究了一下sql数据库语句的解决过程。在园子里看了下,大家写了很多相关的文章,大家的侧重点各有不同。本文是我在看了各种资料后手机总结的,会详细的,一步,简单的说一个sql数据库语句是按照如下的顺序解析的:,首先创建一个Customers表,插入如下数据:,customerid city,FISSA Madrid,FRNDO Madrid,KRLOS Madrid,MRPhS Zion,创建一个Orders表,插入如下数据:,orderid customerid,1 FRNDO,2 FRNDO,3 KRLOS,4 KRLOS,5 KRLOS,6 MRPhS,7 NULL,假如咱们想要查询来自Madrid的,订单数小于3的客户,并把他们的订单数显示出来,结果按照订单数从小到大进行排序。,复制具体相关代码 具体相关代码如下:,SELECT C.customerid, COUNT(O.orderid) AS numorders FROM dbo.Customers AS C LEFT OUTER JOIN dbo.Order,customerid numorders,FISSA 0,FRNDO 2,下面咱们会详细的讲述sql是怎样计算出这个结果的:,FROM子句标识了需要查询的表,假如如果指定了表操作办法,会从左到右的处理,每一个基于一个或者两个表的表操作办法都会返回一个输出表。左边表的输出结果会作为下一个表操作办法的输入结果。例如,交表相关的操作办法有 (1-J1,笛卡尔积会把左右两个表每一行所有可能的组合都列出来生成表VT1-J1,假如如果左表有m列,右表有n列,那么笛卡尔积之后生成的VT1-J1表将会有m×n列。,Step 1-J1这个步骤等价于执行:,执行结果为:(共有4×7列),C.customerid C.city O.orderid O.customerid,FISSA Madrid 1 FRNDO,FISSA Madrid 2 FRNDO,FISSA Madrid 3 KRLOS,FISSA Madrid 4 KRLOS,FISSA Madrid 5 KRLOS,FISSA Madrid 6 MRPhS,FISSA Madrid 7 NULL,FRNDO Madrid 1 FRNDO,FRNDO Madrid 2 FRNDO,FRNDO Madrid 3 KRLOS,FRNDO Madrid 4 KRLOS,FRNDO Madrid 5 KRLOS,FRNDO Madrid 6 MRPhS,FRNDO Madrid 7 NULL,KRLOS Madrid 1 FRNDO,KRLOS Madrid 2 FRNDO,KRLOS Madrid 3 KRLOS,KRLOS Madrid 4 KRLOS,KRLOS Madrid 5 KRLOS,KRLOS Madrid 6 MRPhS,KRLOS Madrid 7 NULL,MRPhS Zion 1 FRNDO,MRPhS Zion 2 FRNDO,MRPhS Zion 3 KRLOS,MRPhS Zion 4 KRLOS,MRPhS Zion 5 KRLOS,MRPhS Zion 6 MRPhS,MRPhS Zion 7 NULL,ON过滤条件是sql的三个过滤条件(ON,WhERE,hAVING)中最先执行的,ON过滤条件应用于前一步生成的虚拟表(VT1-J1),满足ON过滤条件的行会被加入到虚拟表VT1-J2中。在应用了ON,C.customerid C.city O.orderid O.customerid,FRNDO Madrid 1 FRNDO,FRNDO Madrid 2 FRNDO,KRLOS Madrid 3 KRLOS,KRLOS Madrid 4 KRLOS,KRLOS Madrid 5 KRLOS1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

1.SQL 插入数据库语句得到自动生成的递增ID值

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


insert into Table1(Name,des,num) values ('ltp','thisisbest',10);
select @@identity as 'Id'
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


2.实现是1 或0 想显示为男或女

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select name,Sex=(case Sex when '1' then '男' when '0' then '女' end) from Tablename
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


3.嵌套子查询

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select a,b,c from Table1 where a IN (select a from Table2)
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


4.显示文章、提交人和最后回复时间

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select a.title,a.username,b.adddate from tablename a,(select max(adddate) adddate from tablename where tablename.title=a.title) b
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


5.随机提取条记录的例子

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


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
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


6.在同一表内找相同属性的记录

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select UserID from Accounts_Users where UserName is not null group by UserID having count (*)>1
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


7.查询类别所有的产品对应数据

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


SELECT CategoryName,ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


8.按范围查询编号在2 到5 之间的用户信息

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select * from UserValue where UserID between 2 and 5;
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


9.日程安排提前5 分钟提醒

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


Select * from TabSchedule where datediff(minute,getdate(),开始时间)<5
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


10.得出某日期所在月份的最大天数

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


SELECT DAY(DATEADD(dd, -DAY('2008-02-13'),DATEADD(mm, 1, '2008-02-13'))) AS 'DayNumber'
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


11.按姓氏笔画排序

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


12.通配符的一些用法

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


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 的记录
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


13.复制表结构(只复制结构,源表名:a,目标表名:b)

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


select * into b from a where 1<>1 或 select top 0 * into [b] from [a]
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


14.复制表数据(复制数据,源表名:a,目标表名:b)

复制具体相关代码 具体相关代码如下:1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


insert into b(Name,des,num) select Name,des,num from Table1;
1cHAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。

标签:

分享到:

  网友投稿

注册时间:

网站:0 个   APP:0 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市