sql查询50题】的更多相关文章

一个项目涉及到的50个Sql语句问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分…
因为需要提高一下sql的查询能力,当然最快的方式就是做一些实际的题目了.选择了这个sql的50题,这次大概做了前10题左右,把思路放上来,也是一个总结. 具体题目见: https://zhuanlan.zhihu.com/p/72223558 第一部分的题目主要使用的技术是连表查询和子查询,难倒不难,主要是要把思路转换过来. 首先画出一个各个表之间的关系图(没画图之前关系老是搞不清) 1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 学生的信息…
题记:从知乎上看到的一篇文章,刚好最近工作中发现遇到的题目与这个几乎一样,可能就是从这里来的吧.^_^ 里面的答案没有细看,SQL求解重在思路,很多时候同一种结果可能有多种写法,比如题中的各科成绩取前三名,我是在看到这篇文章想到的另一种写法,不过题中的写法也可以做为参考学习.以此记录. 以下转自:https://zhuanlan.zhihu.com/p/72223558 这篇文写了挺久了,有一位细心的小伙伴滑稽发现了一个错误,很感谢有人认真的在看,我重新修改了一下! 很久之前我写过一篇学习sql…
-- 一.创建教学系统的数据库,表,以及数据 --student(sno,sname,sage,ssex) 学生表--course(cno,cname,tno) 课程表--sc(sno,cno,score) 成绩表--teacher(tno,tname) 教师表 --1.创建数据库test1use masterGO IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = 'test1')    DROP DATABASE…
1.查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(重点) SELECT a.s_id,a.s_score FROM (') as a INNER JOIN (') as b on a.s_id=b.s_id WHERE a.s_score>b.s_score; 15.查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩(重点) SELECT a.s_id,a.s_name,avg(s_score) FROM student as a INNER JOIN score a…
表格代码 create table student ( sno ) primary key, sname ) not null, ssex ) not null, sbirthday datetime, class ) ) ; create table teacher ( tno ) primary key, tname ) not null, tsex ) not null, tbirthday datetime, prof ), depart ) not null ) ; create ta…
文章目录 11.查询至少有一门课与学号为'01'的学生所学课程相同的学生的学号和姓名 12.查询和'01'号同学所学课程完全相同的其他同学的学号 13.查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 16.检索01课程分数小于60,按分数降序排列的学生信息 17.按平均成绩从高到低显示所有同学的所有课程的成绩以及平均成绩 18.查询各科成绩最高分,平均分,最低分,及格率,中等率,优良率,优秀率 20.查询学生的总成绩并进行排名 11.查询至少有一门课与学号为'01'的学生所学课程相同的…
文章目录 1.建表 1.1 学生表和插入数据 1.2 教师表和数据 1.3 课程表和数据 1.4 成绩表和数据 2.数据库数据 2.1 学生表 2.2 教师表 2.3 课程表 2.4 得分表 1.建表 1.1 学生表和插入数据 |学号| 姓名|生日|性别| |–|–|–|–|–| |s_id |s_name |s_birth|s_sex| sql脚本 -- ---------------------------- -- Table structure for student -- -------…
文章目录 21.查询不同老师所教不同课程平均分从高到低显示 23.使用分段[100,85),[85,70),[70,60),[<60] 来统计各科成绩,分别统计各分数段人数:课程ID和课程名称 21.查询不同老师所教不同课程平均分从高到低显示 以课程为主题:两表联合,以课程分组,求平均值(假如不同的老师教同一门课,这种情况不予考虑) select a.c_id '课程号',b.c_name '课程名', avg(a.s_score) '平均分' from score as a inner JOI…
文章目录 1.查询课程编号'01'比课程编号'02'成绩高的所有学生学号 2.查询平均成绩大于60分得学生的学号和平均成绩 3.查询所有学生的学号,姓名,选课数,总成绩 4.查询姓"猴"的老师的个数 5.查询没有学过张三老师课的学生的学号和姓名 6.查询学过张三老师所教的所有课的同学的学号和姓名 7.查询学过编号为01的课程并且也学过编号为02的课程的学生的学号和姓名 8.查询课程编号为02的总成绩 9.查询所有课程成绩小于60分的学生的学号.姓名 10.查询没有学全所有课程的学生的学…
表名和字段 1.学生表       Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表       Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号 3.教师表       Teacher(t_id,t_name) --教师编号,教师姓名 4.成绩表       Score(s_id,c_id,s_score) --学生编号,课程编号,分数 测试数据 --建表: --学生表 CR…
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式-上篇 [T-SQL基础]04.表表达式-下篇 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL基础]07.数据修改 [T-SQL基础]08.事务和并发 [T-SQL基础]09.可编程对象 -------------------------…
查询速度慢的原因很多,本文总结SQL查询慢的50个原因: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优化,可以通过…
网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了.前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态.第9题非常难,我反正没有写出来,如果有写出来了的朋友还请赐教.这50道里面自认为应该没有太多错误,而且尽可能使用了最简单或是最直接的查询,有多种不相上下解法的题目我也都列出了,但也欢迎一起学习的朋友进行讨论和解法优化啊~ 数据表介绍 --1.学生表Student(SId,Sname,Sage,Ssex)--SId 学生编号,…
介绍一个学习SQL的网站:https://sqlbolt.com/ 习题来源于网络,SQL语句是自己的练习答案,部分参考了网络上的答案. 花了一晚上的时间做完,个人认为其中的难点有:分组提取前几名的数据.给数据进行排序 相关资料参考: sql语句练习50题(Mysql版) 50道SQL练习题及答案与详细分析 表结构 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t…
在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句如下: CREATE TABLE [dbo].[UserInfo]( ,) NOT NULL, ) NOT NULL, [URegTime] [datetime] NOT NULL, CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED ( [UserID]…
sql查询一天内的写法: 1. where createtime BETWEEN (select date_format(now(),'%Y-%m-%d 00:00:00')) and (select date_format(now(),'%Y-%m-%d 23:59:59')) 2. SELECT TO_DAYS(now());SELECT TO_DAYS('2016-07-02 20:50:06'); ========================================附录===…
--64位环境中使用SQL查询excel的方式 环境: OS:Windows Server 2008 R2 Enterprise MSSQL:Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)  (Build 7601: Service Pack 1) 查询access的方式,请移步:在MSSQL中对ACCESS文件操作方式汇总 因为SQL2005默认是没有开启'Ad Hoc Distributed Queries' 组件,开启方法如下…
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack4.说…
好博客:MySQL http://webnoties.blog.163.com/blog/#m=0&t=1&c=fks_084071081087081070085085086095085094082070086083087071085 http://www.cnblogs.com/mailingfeng/archive/2012/09/26/2704344.html 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据…
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null defau…
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack4.说明:创建新表create ta…
[编者按]本文作者为来自巴基斯坦的软件开发工程师 Aqeeel,主要介绍了在 SQL 查询层面实现 ASP.NET 应用的分页方法. 本文系 OneAPM 工程师编译呈现,以下为正文. GridView 提供了一种实现分页的方法.但是,随着记录的不断扩大,我们需要在查询层面进行优化. 简介 在 SQL 查询层面实现 ASP.NET 程序分页,而不借助 GridView. 背景 无可否认,GridView 是在 ASP.NET Web 表单展示数据的强大工具,它能在结果集较大时实现分页.然而,后端…
Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说明  Mnesia 数据库如何实现SQL查询,实现select / insert / update / where / order by / join / limit / delete等SQL操作. 示例中表结构的定义: %% 账号表结构 -record( y_account,{ id, accou…
前言 之前有园友一直关注着我快点出SQL Server性能优化系列,博主我也对性能优化系列也有点小期待,本来打算利用周末写死锁以及避免死锁系列的接着进入SQL Server优化系列,但是在工作中长时间都是利用EF来操作SQL,不免对写SQL语句有些生疏,在某些场景下还是只能利用底层的SQL语句或者写存储过程来实现,很久没写存储过程都忘记怎么写了,所以本节穿插动态SQL查询的文章,别着急,博主说过不会烂尾,博主再忙也会抽空将整个SQL Server系列梳理完毕,那样的话,无论对初级还是中级者都可以…
本系列[T-SQL]主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式-上篇 [T-SQL基础]04.表表达式-下篇 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL基础]07.数据修改 [T-SQL基础]08.事务和并发 [T-SQL基础]09.可编程对象 ---------------------------------…
结构化查询语言(SQL)是数据挖掘分析行业不可或缺的一项技能,总的来说,学习这个技能是比较容易的.对于SQL来说,编写查询语句只是第一步,确保查询语句高效并且适合于你的数据库操作工作,才是最重要的.这个教程将会提供给你一些步骤,来评估你的查询语句. 首先,应该了解学习SQL对于数据挖掘分析这个工作的重要性; 接下来,应该先学习SQL查询语句的处理和执行过程,以便可以更好的了解到,编写高质量的查询有多重要.具体说来就是,应该了解查询是如何被解析.重写.优化和最终评估的; 掌握了上面一点之后,你不仅…
最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 MySQL大体来说可以分为Server层和存储引擎层两部分. Server层包括:连接器,查询缓存,分析器,优化器,执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期,时间,数学和加密函数等),所有跨存储引擎的功能在这一层实现,比如实现存储过程,触发器,视图等. 存储引擎层:负责数据的…
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY dateandtime DESC 01.本月记录 SELECT  *  ROM 表 WHERE  datediff(month,[dateadd],getdate())=0 02.本周记录 SELECT * FROM 表 WHERE datediff(week,[dateadd],getd…
查询与更新(Query & Update) 转义引号 SQL语句中字符串只能使用单引号,如果需要转义,可用单引号转义单引号. 查询(Inquire) 以下公式中的c指代列名. 规则 1.查询语句的列名区分大小写. 2.查询语句的字符串只能使用单引号. 3.为每条语句加上分号表示一条语句结束,防止当一次执行多条语句时会抛错. 关键字:select 四种基本查询格式 直接查询 select * from stu 参数查询 将查询语句作为字符参数传递给exec执行函数 exec('select * f…