美文网首页呆鸟的Python数据分析
数据分析学习笔记(4)——SQL练习题(1)

数据分析学习笔记(4)——SQL练习题(1)

作者: 小陈学数据 | 来源:发表于2018-09-25 15:29 被阅读31次

数据库基础知识

将大量数据保存起来,通过计算机加工而成的可以高效访问的数据集合成为数据库(Database,DB)。用来管理数据库的计算机系统成为数据库管理系统(Database Management System, DBMS)。

相比于文本文件或者Excel,数据库的最大优势在于:

    * 可多人共享数据。

    * 提供操作大量数据所需格式。

    * 实现读写自动化需要的编程能力。

    * 可应对突发事故,安全性较高。

DBMS可以分为5个类型:

    * 层次数据库(Hierarchical Database, HDB):把数据通过树形结构方式表现出来。

    * 关系数据库(Relational Database, RDB):目前应用最广泛的数据库,采用由行和列组成的二维表来管理数据,使用专门的SQL(Structured Query Language, 结构化查询语言) 对数据进行操作。主要的关系型数据库管理系统(Relational Database Management, RDBMS)有:1)Oracle Database. 2) SQL Server. 3) DB2. 4)  PostgreSQL. 5) MySQL.

    * 面向对象数据库(Object Oriented Database, OODB):把数据以及对数据的操作集合起来以对象为单位进行管理。

    * XML数据库(XML Database, XMLDB):XML数据库可以对XML形式的大量数据进行高速处理。

    * 键值存储系统(Key-Value Store,KVS):单纯用来保存查询所使用的主键(Key)和值(Value)的组合数据库。

SQL练习

题目均取自sqlzoo, 在此只写下自己的答案。

0. SELECT基础

    0.1 select population from world where name = 'Germany'

    0.2 select name, gdp/population from world where area>5000000

    0.3 select name, population from world where name in ('Ireland','Iceland','Denmark')

    0.4 select name, area from world where area between 200000 and 250000

1. SELECT name

    1.1 select name from world where name like 'Y%'

    1.2 select name from world where name like '%Y'

    1.3 select name from world where name like '%x%'

    1.4 select name from world where name like'%land'

    1.5 select name from world where name like 'C%ia'

    1.6 select name from world where name like '%oo%'

    1.7 select name from world where name like '%a%a%a%'

    1.8 select name from world where name like '_t%' order by name

    1.9 select name from world where name like '%o__o%'

    1.10 select name from world where name like '____'

    1.11 select name from world where name = capital

    1.12 select name from world where capital = concat(name,' city')

    1.13 select capital, name from world where capital like concat('%',name,'%')

    1.14 select name, capital from world where (capital <> name) and (capital like concat('%',name,'%'))

    1.15 select name, replace(capital,name,'') from world  where capital like concat('%',name,'%') and capital <> name

2. SELECT from World

    2.1 select name,continent,population from world

    2.2 select name from world where population > 200000000

    2.3 select name,gdp/population from world where population > 200000000

    2.4 select name, population/1000000 from world where continent = 'South America'

    2.5 select name, population from world where name in ('France','Germany','Italy')

    2.6 select name from world where name like '%United%'

    2.7 select name, population, area from world where area > 3000000 or population > 250000000

    2.8 select name, population, area from world where area > 3000000 xor population > 250000000

    2.9 select name, round(population/1000000,2), round(gdp/1000000000,2) from world where continent = 'South America'

    2.10 select name, round(gdp/population,-3) from world where gdp >= 1000000000000

    2.11 SELECT name, CASE WHEN continent='Oceania' THEN 'Australasia'

            ELSE continent END FROM world WHERE name LIKE 'N%'

    2.12 select name,

            CASE WHEN continent = 'Europe' or continent = 'Asia'

            THEN 'Eurasia'

             WHEN continent = 'North America' or continent = 'South America' or continent = 'Caribbean'

            THEN 'America'

            ELSE continent END

            from world where name like 'A%' or name like 'B%'

    2.13 select name,continent, CASE 

            WHEN continent = 'Oceania' THEN 'Australasia'

            WHEN continent = 'Eurasia' THEN 'Europe/Asia'

            WHEN name = 'Turkey' THEN 'Europe/Asia'

            WHEN continent = 'Caribbean' AND name like 'B%' THEN 'North America'

            WHEN continent = 'Caribbean' AND name not like 'B%' THEN 'South America'

            ELSE continent END

            from world

            order by name

3. SELECT from Nobel

    3.1  select yr,subject,winner from nobel where yr = 1950

    3.2  select winner from nobel where yr=1962 and subject='Literature'

    3.3  select yr, subject from nobel where winner = 'Albert Einstein'

    3.4  select winner from nobel where yr >= 2000 and subject = 'Peace'

    3.5  select * from nobel where yr between 1980 and 1989 and subject = 'Literature'

    3.6  select * from nobel where winner in ('Theodore Roosevelt', 'Woodrow Wilson','Jimmy Carter')

    3.7  select winner from nobel where winner like 'John%'

    3.8  select * from nobel where (yr=1980 and subject='physics') or (yr=1984 and subject='chemistry')

    3.9 select * from nobel where subject not in ('Chemistry','Medicine') and yr = 1980

    3.10 select * from nobel where (yr < 1910 and subject = 'Medicine') or(yr >=2004 and subject = 'Literature')

    3.11 select * from nobel where winner like 'PETER GR_NBERG' (这题结果虽然对了,但是应该有更准确的解法) 

    3.12 select * from nobel where winner = 'EUGENE O''NEILL'

    3.13 select winner,yr,subject from nobel where winner like 'Sir%' order by yr desc, replace(winner,'Sir ','')

    3.14 select winner,subject from nobel where yr=1984 order by subject in                             ('Chemistry','Physics'),subject, winner

    

    

相关文章

  • 数据分析学习笔记(4)——SQL练习题(1)

    数据库基础知识 将大量数据保存起来,通过计算机加工而成的可以高效访问的数据集合成为数据库(Database,DB)...

  • SQL学习笔记day1

    SQL学习笔记day1 sql语句种类 DDL(Data Definition Language,数据定义语言):...

  • 转行数据分析师如何开始学习SQL | 工科生三个月转行数据分析学

    该篇文章包含以下几个部分: 1.什么是SQL及相关概念 2.数据分析师学习SQL的哪些部分 3.学习资源推荐 4....

  • SQL的基础操作

    1.学习SQL的意义 产品经理经常会有数据分析的需要,数据分析分为几大步骤:数据的收集->数据结构分析->数据建模...

  • 列一列今年想记录和写的内容

    1,后台的产品经理工作日常记录和心得 2,机器学习学习笔记,今年估计主要在推荐算法这边 3,数据分析方法 4,数据...

  • Mysql 学习笔记

    Mysql 学习笔记(二) 可以把SQL分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。1、...

  • 一建第202天

    一、学习 1.笔记4复习[计量法章节]+(1-16题)(112-116页) 笔记5复习“计量法章节”练习题(17-...

  • 一建第203天

    一、学习 1.笔记4复习[计量法章节]+(1-16题)(112-116页) 笔记5复习“计量法章节”练习题(17-...

  • 作业1 定位

    (1) 技能: 快速学习,SQL, 英语,数据提取整合,Excel,Python,建模分析,画画,照顾猫咪和狗狗,...

  • Android基础(10)数据库

    1)如何导入外部数据库?2)数据库数据迁移问题3)数据库框架对比和源码分析 GreenDao、Realm4)sql...

网友评论

    本文标题:数据分析学习笔记(4)——SQL练习题(1)

    本文链接:https://www.haomeiwen.com/subject/ioehoftx.html