精华内容
下载资源
问答
  • 全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答
  • SQL编程习题与解答.pdf

    2013-04-27 08:25:44
    SQL编程习题与解答 SQL编程相关的有趣问题,涉及数据库应用的许多方面,如财务、投资、旅游、销售、计算等,不一而足。针对每一个谜题,作者给出了基于SQL-99及更新标准的多种解决方案,展示了解思路,对SQL程序员...
  • 全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答全美经典-SQL编程习题与解答
  • 牛客网SQL编程题

    2019-03-28 11:34:58
    数据库SQL编程题题目描述输入描述输出描述代码示例 题目描述 查找当前薪水(to_date=‘9999-01-01’)排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by CREATE TABLE employees ( ...

    题目描述

    查找当前薪水(to_date=‘9999-01-01’)排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by
    CREATE TABLE employees (
    emp_no int(11) NOT NULL,
    birth_date date NOT NULL,
    first_name varchar(14) NOT NULL,
    last_name varchar(16) NOT NULL,
    gender char(1) NOT NULL,
    hire_date date NOT NULL,
    PRIMARY KEY (emp_no));
    CREATE TABLE salaries (
    emp_no int(11) NOT NULL,
    salary int(11) NOT NULL,
    from_date date NOT NULL,
    to_date date NOT NULL,
    PRIMARY KEY (emp_no,from_date));

    输入描述

    输出描述

    emp_no salary last_name first_name
    10009 94409 Peac Sumant

    代码示例

    SELECT e.emp_no, MAX(s.salary) AS salary, e.last_name, e.first_name
    FROM employees e
    	INNER JOIN salaries s ON e.emp_no = s.emp_no
    WHERE s.to_date = '9999-01-01'
    	AND s.salary NOT IN (
    		SELECT MAX(salary)
    		FROM salaries
    		WHERE to_date = '9999-01-01'
    	);
    
    展开全文
  • (SQL 编程习题与解答(中文版).PDF
  • 一、 SQL编程题 员工表emp:员工编号eid,姓名ename,工作职位title,雇佣日期hiretime,工资salary,奖金bonus,部门 depart 部门表dept:部门编号did,名称dname,部门领导leader 1、 查询员工姓名及所做工作 ...

    一、 SQL编程题

    员工表emp:员工编号eid,姓名ename,工作职位title,雇佣日期hiretime,工资salary,奖金bonus,部门 depart
    部门表dept:部门编号did,名称dname,部门领导leader

    1、  查询员工姓名及所做工作

    SELECT ename,title from emp

    2、  查询员工姓名及年薪

    SELECT ename,salary*12 as salaryAll from emp

    3、  查询工资大于4000的员工信息

    SELECT * from emp where salary > 4000

    4、  查询年薪大于20000的员工信息

    SELECT * from emp where salary*12 > 20000

    5、  查询没有奖金的员工

    SELECT * fromemp where bonus = 0

    6、  查询工资大于3000同时有奖金的员工信息

    SELECT * from emp where salary > 3000 and bonus = 0

    7、  查询工资大于3500但是小于5000的员工信息

    SELECT * from emp where salary > 3000 and salary <5000

    8、  查询编号是1001、1003、1004的员工信息

    SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart in (101,103,104)

    9、  查询编号不是1001、1003、1004的员工信息

    SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart not in (101,103,104)

    10、       查询员工姓名是3个字的员工信息

    SELECT * from emp where char_length(ename) = 3

    11、       查询姓张的员工信息

    12、       SELECT * from emp where enamelike '张%'

    13、       查询出员工工资没有包含6和8的员工信息

    select * from (select * from emp where salary not like'%8%') as c where salary not like '%6%'

    14、       按照工资由高到低查询员工信息

    select * from emp ORDER BY salary

    15、       要求查询出101部门的所有雇员信息,查询的信息按照工资由高到低排序,如果工资相等,则按照雇佣日期由早到晚排序。

    select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 ORDER BY salary , hiretime

    16、       查询101部门有多少员工,每月平均发多少工资

    select avg(salary),count(*) from emp LEFT JOIN dept onemp.depart = dept.did where dept.did = 101

    17、       查询101部门的所有员工信息,并显示所在部门名称

    select * from emp LEFT JOIN dept on emp.depart = dept.did

    18、       查询1001员工的部门领导信息

    select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 and title = '经理'

    19、       查询部门员工数量,平均工资,最低工资及最低工资的员工姓名

    select ename,depart,'员工数量',minSalary,'平均工资' from emp,(select dept.didas bumen,count(*) as '员工数量',MIN(salary) asminSalary,AVG(salary) as '平均工资' from emp LEFT JOIN depton emp.depart = dept.did GROUP BY dept.did

    ) as a where emp.depart = a.bumen and emp.salary =a.minSalary

    展开全文
  • 一共160道题目包括答案,基本上涵盖了所有的SQL Server和T-SQL知识,适合学习,复习,考试等
  • [SQL编程习题与解答(全美经典学习指导系列)].(美)Mata-Toledo&Cushman.扫描版
  • 历经一周左右,终于陆陆续续把牛客网的sql编程题全部搞定了。虽然牛客网的sql编程题的质量确实不错,但是我不得不吐槽题目的表述,真的很容易让人误会好嘛。。。在提交代码的时候,总是不通过,一度以为自己学的是假...

    历经一周左右,终于陆陆续续把牛客网的sql编程题全部搞定了。虽然牛客网的sql编程题的质量确实不错,但是我不得不吐槽题目的表述,真的很容易让人误会好嘛。。。在提交代码的时候,总是不通过,一度以为自己学的是假的知识,whatever!

    另一点是牛客网的困难题目是真的难啊,特别是”牛客每个人最近的登录日期“系列的题目,给跪!不得不说题目中的坑很多,而且逻辑相当得绕,如果有人像这样设计出如此精简得数据库,我首先给他点个赞,然后拿到取数需求的的时候我想把他往死里骂<_<

    看到这边,我觉得你有可能会惊讶这是人能写出来的么???(此时大佬不屑一笑>_>)

    然后牛客网的一个成就系统让我觉得非常的有意思,就跟打怪升级一样,题目越刷越得劲,昨天上了V5,距离V6还有不小的一段距离,希望终有一天能达到V7,成为别人眼中的红名大佬。(flag先立着了😁)

    如果你也想上来刷一刷这魔人的小妖精(sql编程题),但没有基础的话,推荐你去学下https://www.bilibili.com/video/BV1UE41147KC,这个外国老师是个光头强者😀(一拳超人:听说你也很强,哦,你也是光头!!!)

    好了,希望本偏博文能对你产生一些正面的影响,那么我们下个博文见……

    (今天这博文写的好随意,原谅我小学语文是体育老师教的。(os:对不起,小学体育老师!)

     

     

    展开全文
  • SQL编程习题与解答(全美经典学习指导
  • SQL编程习题与解答

    2015-03-08 13:20:52
    基本SQL语言练习,方便SQLite的学习,以及后续数据库系统的实现
  • [全美经典学习指导系列] SQL编程习题与解答 例子经典,解答全面 很好的一本学习书籍,希望对大家有帮助
  • PL/SQL编程题大全

    2012-12-10 19:12:22
    Oracle 数据库中,pl/sql语言编程是Oracle数据库的核心内容,也是重点内容,本文档是pl/sql语言编程的题目。供参考
  • SQL编程习题与解答(全美经典学习指导系列)中文版
  • 是全美经典学习知道系列关于数据库的书籍,包含两本书,都是扫描版
  • SQL编程题大集合

    千次阅读 2019-01-11 13:58:01
    (4)查询学过“张三”老师授课的同学的信息 第0种方法(四重select查找) select s.* from student s where s.Sid in (select sid from sc where Cid in (select cid from course c where c.Tid in ...

    1、问题及描述:
    学生表
    Student(Sid,Sname,Sage,Ssex) --Sid 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
    课程表
    Course(Cid,Cname,Tid) --Cid --课程编号,Cname 课程名称,T# 教师编号
    教师表
    Teacher(Tid,Tname) --Tid 教师编号,Tname 教师姓名
    成绩表
    SC(Sid,Cid,score) --Sid 学生编号,Cid 课程编号,score 分数

    创建测试数据:

    create table Student(Sid varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10));
    insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
    insert into Student values('02' , '钱电' , '1990-12-21' , '男');
    insert into Student values('03' , '孙风' , '1990-05-20' , '男');
    insert into Student values('04' , '李云' , '1990-08-06' , '男');
    insert into Student values('05' , '周梅' , '1991-12-01' , '女');
    insert into Student values('06' , '吴兰' , '1992-03-01' , '女');
    insert into Student values('07' , '郑竹' , '1989-07-01' , '女');
    insert into Student values('08' , '王菊' , '1990-01-20' , '女');
    create table Course(Cid varchar(10),Cname varchar(10),Tid varchar(10));
    insert into Course values('01' , '语文' , '02');
    insert into Course values('02' , '数学' , '01');
    insert into Course values('03' , '英语' , '03');
    create table Teacher(Tid varchar(10),Tname nvarchar(10));
    insert into Teacher values('01' , '张三');
    insert into Teacher values('02' , '李四');
    insert into Teacher values('03' , '王五');
    create table SC(Sid varchar(10),Cid varchar(10),score decimal(18,1));
    insert into SC values('01' , '01' , 80);
    insert into SC values('01' , '02' , 90);
    insert into SC values('01' , '03' , 99);
    insert into SC values('02' , '01' , 70);
    insert into SC values('02' , '02' , 60);
    insert into SC values('02' , '03' , 80);
    insert into SC values('03' , '01' , 80);
    insert into SC values('03' , '02' , 80);
    insert into SC values('03' , '03' , 80);
    insert into SC values('04' , '01' , 50);
    insert into SC values('04' , '02' , 30);
    insert into SC values('04' , '03' , 20);
    insert into SC values('05' , '01' , 76);
    insert into SC values('05' , '02' , 87);
    insert into SC values('06' , '01' , 31);
    insert into SC values('06' , '03' , 34);
    insert into SC values('07' , '02' , 89);
    insert into SC values('07' , '03' , 98);
    
    

    (4)查询学过“张三”老师授课的同学的信息
    第0种方法(四重select查找)

    select s.* from student s where s.Sid in
          (select sid from sc where Cid in 
             (select cid from course c where c.Tid in
                 (select t.Tid from teacher t where t.Tname="张三")
              )
          ) 
    

    第一种方法(三重select查找)

     select s.* from student s where s.Sid in
          (select sid from sc where Cid in 
             (select cid from course c,teacher t where
                 c.Tid=t.Tid and Tname="张三")
          ) 
    

    第二种方法(两重select查找)

     select s.* from student s ,sc where s.Sid=sc.Sid and sc.Cid in 
             (select cid from course c,teacher t where
                 c.Tid=t.Tid and Tname="张三")
    

    第三种方法(一重select查找)

    select s.* from student s,sc,course c,teacher t where
           s.Sid=sc.Sid and sc.Cid=c.Cid and c.Tid=t.Tid and Tname="张三"
    

    (5)查询没学过“张三”老师讲授的任一门课程的学生姓名
    第0种方法:

     select s.sname from student s where s.sname not in(
        select s.sname from student s where s.sid in 
          (select sc.Sid from sc where sc.Cid in 
             (select c.cid from course c where c.Tid in 
                 (select t.Tid FROM teacher t where t.Tname="张三")
              )
            )
      )
    

    第一种方法:

    select s.sname from student s where s.sname not in(
       select s.sname from student s,sc,course c,teacher t
            where s.sid=sc.sid and sc.Cid=c.Cid and c.Tid=t.Tid and t.Tname="张三"
    )
    

    (6)检索"01"课程分数小于60,按分数降序排列的学生信息

    select s.* ,sc.score from student s,sc where
            s.sid=sc.sid and sc.score<60 and cid="01" ORDER BY sc.score DESC
    
    展开全文
  • 牛客SQL编程题1-7

    2021-03-22 17:07:39
    SQL1.请你查找employees里最晚入职员工的所有信息;. 考虑到可能 会有多个员工在同一天入职,且不知道人数。用MAX查出入职时间这一列的最大值,即最晚入职时间。 SELECT MAX(hire_date) FROM employees 再从职员...
  • 牛客网sql编程题

    2018-04-08 19:38:06
    1. 题目描述 查找最晚入职员工的所有信息 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, first_name varchar(14) NOT NULL, last_name varchar(16) NOT NULL, ...
  • 刷题记录 | 牛客网 SQL 编程题

    千次阅读 2020-09-18 21:21:21
    文章目录[1. [刷题通过的题目排名]...&tqId=35080&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking)[2. 出现三次以上积分相同的number](https://www.nowcoder.com/practice/c69ac94335744480aa50646864b

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,195
精华内容 478
关键字:

sql编程题