SQL应用小技巧

/* 用EXCEL中的数据更新 SQL 中的表 */

UPDATE

    Dest

set

    GongShang = (select [money] from YL where YL.Name=Dest.Name)

where

    Dest.Name in(select Name from YL)


UPDATE

Dest

SET

YiLiao = b.Money,

ShiYe = b.Money,

YangLao = b.Money,

GongShang = b.Money

FROM

Dest a,

OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source="D:\2014\15220申报(2014).xls";

User ID=;Password=; Extended properties=Excel 5.0')...sheet1$ b

WHERE

a.Name=b.Name


/* 查询表B中与表B工号、姓名相同的人 */

SELECT

B.*

FROM

OpenRowSet('Microsoft.Jet.OLEDB.4.0','EXCEL 5.0;HDR=yes;DataBase=F:\样例\20100711.xls;',sheet1$) AS A,

OpenRowSet('Microsoft.Jet.OLEDB.4.0','dBase 5.0;DataBase=F:\样例\','select * from GZZK1007.DBF') AS B

WHERE

A.GONGHAO=B.GONGHAO AND A.XINGMING=B.XINGMING

/* 计算个人所得税查询语句 */

SELECT

    *,

CASE

WHEN 应发工资 > 3500 AND 应发工资 <= 5000 THEN (应发工资-3500)*0.03

WHEN 应发工资 > 5000 AND 应发工资 <= 8000 THEN (应发工资-3500)*0.1-105

ELSE 0 END 个人所得税

FROM

Salary


/* 查询less表比more表少哪些人 */

select

m.name

from

OpenRowSet('Microsoft.Jet.OLEDB.4.0','EXCEL 5.0;HDR=yes;DataBase=D:\TEST\more.xls;',Sheet1$) m

left join /* 方向很重要,人数多的表要作为被join的表 */

OpenRowSet('Microsoft.Jet.OLEDB.4.0','EXCEL 5.0;HDR=yes;DataBase=D:\TEST\less.xls;',Sheet1$) l

on

l.name=m.name

where

l.name is NULL

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,949评论 0 23
  • 基础语句 1. 创建数据库 CREATE DATABASE database_name 2. 删除数据库 drop...
    敲代码的本愿阅读 1,047评论 1 7
  • Linked Server简介 我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中...
    不知名的蛋挞阅读 3,519评论 1 1
  • 坐在炕头,一个完完全全属于自己的空间。空气也是静的,突然发觉,我应该好好认识一下它,仔细端详它是不是我记忆里向往的...
    小缘小愿阅读 321评论 2 2
  • 最近偶尔会体会到一种“无头苍蝇”的感觉,不知道答案在哪里……更为揪心的是,我连问题是啥都不知道……横竖都不对劲儿就...
    Larissa阅读 256评论 0 0