zoukankan      html  css  js  c++  java
  • Leetcode中的SQL题目练习(一)

    595. Big Countries

    https://leetcode.com/problems/big-countries/description/

    Description

    name continent area population gdp
    Afghanistan Asia 652230 25500100 20343000
    Albania Europe 28748 2831741 12960000
    Algeria Africa 2381741 37100000 188681000
    Andorra Europe 468 78115 3712000
    Angola Africa 1246700 20609294 100990000

    A country is big if it has an area of bigger than 3 million square km or a population of more than 25 million.
    Write a SQL solution to output big countries’ name, population and area.(查找面积超过 3,000,000 或者人口数超过 25,000,000 的国家。)
    For example, according to the above table, we should output:

    name population area
    Afghanistan 25500100 652230
    Algeria 37100000 2381741

    Solution

    SELECT name,
        population,
        area
    FROM
        World
    WHERE
        area > 3000000
        OR population > 25000000;
    

    627. Swap Salary

    https://leetcode.com/problems/swap-salary/description/

    Description

    id name sex salary
    1 A m 2500
    2 B f 1500
    3 C m 5500
    4 D f 500

    Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update query and no intermediate temp table.(只用一个 SQL 查询,将 sex 字段反转。)
    After running your query, the above salary table should have the following rows:

    id name sex salary
    1 A f 2500
    2 B m 1500
    3 C f 5500
    4 D m 500

    Solution:

    update salary
    set sex = 
        case sex
            when 'm'
            then 'f'
            else 'm'
        end;
    

    620. Not Boring Movies

    https://leetcode.com/problems/not-boring-movies/description/

    Description

    id movie description rating
    1 War great 3D 8.9
    2 Science fiction 8.5
    3 irish boring 6.2
    4 Ice song Fantacy 8.6
    5 House card Interesting 9.1

    查找 id 为奇数,并且 description 不是 boring 的电影,按 rating 降序。

    id movie description rating
    5 House card Interesting 9.1
    1 War great 3D 8.9

    Solution:

    SELECT
        *
    FROM
        cinema
    WHERE
        id % 2 = 1
        AND description != 'boring'
    ORDER BY
        rating DESC;
    

    596. Classes More Than 5 Students

    Description

    student class
    A Math
    B English
    C Math
    D Biology
    E Math
    F Computer
    G Math
    H Math
    I Math

    查找有五名及以上 student 的 class。

    class
    Math

    Solution:

    SELECT
        class
    FROM
        courses
    GROUP BY
        class
    HAVING
        count( DISTINCT student ) >= 5;
    

    182. Duplicate Emails

    https://leetcode.com/problems/duplicate-emails/description/

    Id Email
    1 a@b.com
    2 c@d.com
    3 a@b.com

    查找重复的邮件地址:

    Email
    a@b.com

    Solution:

    select Email
    from Person 
    group by Email 
    having count(Email)>=2
    

    196. Delete Duplicate Emails ?

    https://leetcode.com/problems/delete-duplicate-emails/description/

    Description:

    Id Email
    1 john@example.com
    2 bob@example.com
    3 john@example.com

    删除重复的邮件地址

    Id Email
    1 john@example.com
    2 bob@example.com

    Solution:

    (1)

    delete p1
    from Person p1,Person p2
    where p1.Email =p2.Email  
    and p1.Id > p2.Id            
    

    (2)

    DELETE
    FROM
        Person
    WHERE
        id NOT IN ( SELECT id FROM ( SELECT min( id ) AS id FROM Person GROUP BY email ) AS m );
    
  • 相关阅读:
    软件测试(来自于网络)
    selenium常用命令
    新员工入门
    常用测试点
    测试leader职责
    软件测试 —— 用例设计4(读书分享)
    Tomcat 基础二
    Github Pull Request的提出与采纳
    Unix套接字接口
    健壮的I/O(RIO)
  • 原文地址:https://www.cnblogs.com/tongxupeng/p/10259509.html
Copyright © 2011-2022 走看看