有用的sql语句

 

--sql 1 将一张表的字段通过另一张表之间的对应关系进行更新。
update WarrantySaleItem set applicableName = a.applicableName
from Applicable a where a.ID = WarrantySaleItem.applicableName

 

 

--sql 2 通过一张表更新另一张表的数据。属于实用性的sql。

INSERT INTO dbo.Vendor(VendorCode,VendorNameCh,VendorNameEn,TaxRate)
SELECT VendorCode,VendorNameCh,VendorNameEn,TaxRate
FROM dbo.Vendor_Temp a
WHERE a.VendorCode not in
(SELECT VendorCode FROM dbo.Vendor)

UPDATE dbo.Vendor
SET VendorNameCh=a.VendorNameCh,
        VendorNameEn=a.VendorNameEn,
        TaxRate=a.TaxRate
FROM dbo.Vendor_Temp a
WHERE dbo.Vendor.VendorCode=a.VendorCode AND (
              dbo.Vendor.VendorNameCh<>a.VendorNameCh OR
              dbo.Vendor.VendorNameEn<>a.VendorNameEn OR
              dbo.Vendor.TaxRate<>a.TaxRate)

 

--sql 3row_number 函数的使用Oracle中有rownumber,sqlservicer有这个函数,功能都差不多,使用方法如下:

select a.*,row_number() over(order by id)  from Customer as a

 

 

--sql 3 查询某个数据库链接的信息。

SELECT * FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID]
IN
(
  SELECT
   [DBID]
  FROM
   [Master].[dbo].[SYSDATABASES]
  WHERE
   NAME='CERS' --数据库名称
)

 

--sql4 查询各个科目的前三名的学生

use znj
go

create table student
(
 sid int identity(1,1) primary key,
 sname varchar(20) not null
)

create table coures
(
  cid int identity(1,1) primary key,
  cname varchar(20)
)

create table score
(
   scid int identity(1,1) primary key,
   sid int not null,
   cid int not null,
   result float
)


insert into student values('张学友')
insert into student values('吴孟达')
insert into student values('张柏芝')
insert into student values('曹阿瞒')
insert into student values('张牛俊')

insert into coures values('计算机科学与应用')
insert into coures values('高等数学')
insert into coures values('线性代数')

insert into score values(1,1,80)
insert into score values(1,2,78)
insert into score values(1,3,59)
insert into score values(2,1,84)
insert into score values(2,2,90)
insert into score values(2,3,45)
insert into score values(3,1,23)
insert into score values(3,2,45)
insert into score values(3,3,87)
insert into score values(4,1,100)


select * from student
select * from coures
select * from score


--查询出 各个科目的前三名(圆满解决)
select cid,result from score s group by cid,result  having result
in
(
   select top 3 result  from score where cid = s.cid order by result desc
)
order by cid,result desc

 

--sql5删除数据库多余的归档日志

EXEC sp_cycle_errorlog ;

 

 

--sql6 统计

select prd.id, prd.sale_price, styles.tags as style_tags, colors.tags as color_tags,prd.added_time
from product as prd, product_tag as styles, product_tag as colors
where styles.product_id = colors.product_id
and prd.id = styles.product_id
and styles.dimension_id = 4
and colors.dimension_id = 5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值