问题来自于CSDN问答,练练SQL吧。

测试数据SQL代码:

if OBJECT_ID('td_ls_2') is not null
drop table td_ls_2
go
if OBJECT_ID('td_ls_1') is not null
drop table td_ls_1
go create table td_ls_1
(
dh varchar(18) primary key,
Id_gsjg int,
Ymd_rz varchar(8),
Id_ck int,
Id_hyk int,
Id_user int
)
go
create table td_ls_2
(
dh varchar(18) foreign key references td_ls_1(dh),
Id_sp int,
sl int,
Dj_hs decimal(10,1),
Je_hs decimal(10,1),
Flag_cx varchar(4)
)
go insert into td_ls_1 values('LS0010111052600010',2,'',2,5,14);
insert into td_ls_1 values('LS0010111052600012',2,'',3,0,14);
insert into td_ls_1 values('LS0010111052700016',1,'',1,0,18);
insert into td_ls_1 values('LS0010111052700018',2,'',2,17,18);
insert into td_ls_1 values('LS0010111052800022',1,'',1,17,14);
insert into td_ls_1 values('LS0010111052800023',2,'',3,0,125);
insert into td_ls_1 values('LS0010111052900026',3,'',4,0,14); go insert into td_ls_2 values('LS0010111052600010',4053,1,8,8,'no');
insert into td_ls_2 values('LS0010111052600010',202,2,7.3,14.6,'no');
insert into td_ls_2 values('LS0010111052600012',2131,2,7.6,15.2,'tjcx');
insert into td_ls_2 values('LS0010111052600012',2104,1,16.9,16.9,'tjcx');
insert into td_ls_2 values('LS0010111052700016',404,20,1,20,'tjcx');
insert into td_ls_2 values('LS0010111052700018',2383,2,8.3,16.6,'no');
insert into td_ls_2 values('LS0010111052800022',377,2,1.6,3.2,'tjcx');
insert into td_ls_2 values('LS0010111052800022',3310,3,1.4,4.2,'no');
insert into td_ls_2 values('LS0010111052800022',404,25,1,25,'tjcx');
insert into td_ls_2 values('LS0010111052800023',2131,2,7.6,15.2,'tjcx');
insert into td_ls_2 values('LS0010111052900026',3310,2,1.4,2.8,'no');

答案:

1、

select a.Id_hyk as 会员卡,a.dh as 单号,a.Ymd_rz as 日期,b.Id_sp as 商品ID,b.Je_hs as 金额
from td_ls_1 a inner join td_ls_2 b on a.dh = b.dh order by 会员卡

2、

select a.Ymd_rz as 日期,sum(b.Je_hs) as 销售金额 from td_ls_1 a
inner join td_ls_2 b on a.dh = b.dh
where a.Id_gsjg = 2
group by a.Ymd_rz

3、有两种方法:1、可以设置主外键关联,这样删除主表时就能同时删除子表记录(级联删除);2、先删子表记录再删主表记录

if OBJECT_ID('aa') is not null
drop table aa;
with a as(
select a.dh from td_ls_1 a inner join td_ls_2 b on a.dh = b.dh where a.Ymd_rz = ''
)
select * into aa from a; --先删子表再删主表
delete from td_ls_2 where dh in (select dh from aa);
delete from td_ls_1 where dh in (select dh from aa);

4、

select a.Id_user as 收银员,sum(b.Je_hs) as 销售金额
from td_ls_1 a inner join td_ls_2 b on a.dh = b.dh
group by Id_user
order by 销售金额 desc

SQL 面试题(一)的更多相关文章

  1. 汽车之家一道SQL 面试题,大家闲来无事都来敲一敲

    写在前面 上周去汽车之家面试,拿到这个SQL笔试题顿时感觉到有些陌生,因为好长时间不写SQL语句了,当时只写了表设计,示例数据和SQL语句都没写出来. 汽车之家应该用的SQL Server, 编程题一 ...

  2. sql面试题一 学生成绩

    sql面试题一 学生成绩   原帖链接:http://topic.csdn.net/u/20081020/15/1ABF54D0-F401-42AB-A75E-DF90027CEBA0.html 表架 ...

  3. 一道sql面试题(查询语句)

    一道sql面试题(查询语句)   id name age 1  a        11 2  b        11 3  c        12 4  d        13 5  e        ...

  4. SQL面试题1

    SQL面试题 Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言 ...

  5. 数据库基础SQL知识面试题二

    数据库基础SQL知识面试题二 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选课系统SQL语法练习 course数据库中有以下四张表: •students表(学生表): si ...

  6. 数据库基础SQL知识面试题一

    数据库基础SQL知识面试题一 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 如标题所示,本篇博客主要介绍基础知识的面试题.大家可以用来测试面试者的技术水平,由于个人水平所限,难免 ...

  7. SQLServer 常见SQL笔试题之语句操作题详解

    SqlServer 常见SQL笔试题之语句操作题详解 by:授客 QQ:1033553122 测试数据库 CREATE DATABASE handWriting ON PRIMARY ( name = ...

  8. SQL面试题(网络收集)

    1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu 张三     语文       81 张三     数学       75 李四     ...

  9. Sql面试题之四(难度:中等 | 含答案 | 有逻辑题)

    Sql面试题之四(难度:中等 | 含答案 | 有逻辑题)

  10. Sql面试题之三(难度:简单| 含答案)

    Sql面试题之三(难度:简单| 含答案) 答案: .SELECT B.name, B.Depart T.Content FROM B, T WHERE ( T.Content = '税法培训' and ...

随机推荐

  1. CentOS6.3配置yum源

    转载:http://www.linuxidc.com/Linux/2012-10/72750.htm 全新以最小化包安装了64位的CentOS6.3系统,作为本地的Web服务器使用,现记录全过程第二步 ...

  2. iOS开发 - 一个天真的搜索控制器的独白

    文/Azen(简书作者)原文链接:http://www.jianshu.com/p/6d5327111511著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 正文 一.关于横向模块开发 ...

  3. Asp.Net 之 MasterPage

    母版页是VS2005中新引入的一个概念,它很好地实现界面设计的模块化,并且实现实现了代码的重用.它就像婚纱影楼中的婚纱模板,同一个婚纱模板可以给不同的新人用,只要把他们的照片贴在已有的婚纱模板就可以形 ...

  4. Border绘制虚线框(转)

    <Grid> <Border HorizontalAlignment="Center" VerticalAlignment="Center" ...

  5. 爬虫入门scrapy

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  6. A Multipart Series on Grids in ASP.NET MVC

    A Multipart Series on Grids in ASP.NET MVC Displaying a grid of data is one of the most common tasks ...

  7. nodejs的mysql模块学习(六)连接池的创建和使用

    介绍 在 软件工程 , 连接池 是一个 高速缓存 的 数据库连接 维持,使得连接可以当需要将来向数据库请求重复使用. [ 来源请求 ] 连接池用于提高数据库上执行命令的性能. 打开并保持每个用户的数据 ...

  8. [Android]天气App 3 网络数据的请求和Json解析

      Android客户端开发,不仅仅是在Android端开发,还需要有相应的后台服务支持,否则的话,客户端的数据就只能放到本地自己做处理.我认为的原生态的App就是对应服务端的Client.他能像浏览 ...

  9. 从Setting.settings到Resource.resx

    之前由于经验不足,将常用的App提示信息串(string)放置在了配置文件中(*.Settings).目前需要将App国际化,对这些信息的翻译有两个途径: 直接翻译,将参数中的提示信息串用英文或者其他 ...

  10. 第03篇. 标准Web项目Jetty9内嵌API简单启动

    一直以来,想改变一些自己早已经习惯的事情. 到了一定年龄,便要学会寡言,每一句话都要有用,有重量. 喜怒不形于色,大事淡然,有自己的底线. --胖先生 昨天,简单的说了一下关于Jetty9的配置,大家 ...