• 【MySQL基础打卡(一)】查询语句项目作业



    对于安装MySQL比较恐惧,所以想在虚拟机上配置数据库,不过到现在也没有配置好。。。所以这次就先在线进行数据库操作了。下次一定配置完毕!

    1.查找email表中重复的电子邮箱

    1.1 创建email数据表

    创建email数据表,并依次插入三条数据:

    CREATE TABLE email (
    ID INT NOT NULL PRIMARY KEY,
    Email VARCHAR(255)
    );
    
    INSERT INTO email VALUES('1','a@b.com');
    INSERT INTO email VALUES('2','c@d.com');
    INSERT INTO email VALUES('3','a@b.com');
    
    

    查看创建的email数据表:

    SELECT * FROM email
    

    结果如下图所示:
    在这里插入图片描述

    1.2 找出重复Email

    解题思路:题目要求找出重复的Email字段。首先要将Email字段进行分组(GROUP BY),然后利用HAVING对分组后的数据进行筛选(Email计数>1),然后对于这个子表进行查询即可

    解题关键:having与group by联合使用,用于分组后的筛选

    语句如下:

    SELECT * FROM email 
    WHERE 
    Email IN (SELECT Email FROM email GROUP BY Email HAVING COUNT(Email)>1)
    

    结果如下:
    在这里插入图片描述

    2.查找大国家

    2.1 创建数据表

    创建World数据表,并依次插入数据:

    CREATE TABLE World (
    name VARCHAR(50) NOT NULL,
    continent VARCHAR(50) NOT NULL,
    area INT NOT NULL,
    population INT NOT NULL,
    gdp INT NOT NULL
    );
    
    INSERT INTO World
      VALUES('Afghanistan','Asia',652230,25500100,20343000);
    INSERT INTO World 
      VALUES('Albania','Europe',28748,2831741,12960000);
    INSERT INTO World 
      VALUES('Algeria','Africa',2381741,37100000,188681000);
    INSERT INTO World
      VALUES('Andorra','Europe',468,78115,3712000);
    INSERT INTO World
      VALUES('Angola','Africa',1246700,20609294,100990000);
    

    查看创建的email数据表:

    SELECT * FROM World
    

    结果如下:
    在这里插入图片描述

    2.2 查找大国家

    大国家的标准:
    面积超过300万平方公里,或者
    (人口超过2500万并且gdp超过2000万)

    查询语句:

    SELECT * FROM World 
    WHERE 
    (area>2000000 OR (population>25000000 AND gdp>20000000))
    

    结果如下:
    在这里插入图片描述

  • 相关阅读:
    getSupportFragmentManager要用在FragmentActivity及其子类中
    nginx 配置php
    openwrt 安装 ser2net 配置
    stm32 hid 键盘描述
    外部中断实验
    stm32 UART串口
    stm32 按键
    小结-stm32 驱动LED灯
    ASCII 计算机码
    debian/ubuntu安装桌面环境
  • 原文地址:https://www.cnblogs.com/siplifyit/p/12109220.html
Copyright © 2020-2023  润新知