mysql 操作语句create insert distinct 合并查询 去除重复值

创建如下所示的courses 表 ,有: student (学生) 和 class (课程)。

例如,表:

+---------+------------+

| student | class      |

+---------+------------+

| A       | Math       |

| B       | English    |

| C       | Math       |

| D       | Biology    |

| E       | Math       |

| F       | Computer   |

| G       | Math       |

| H       | Math       |

| I       | Math       |

| A      | Math       |

+---------+------------+

 

CREATE TABLE courses VALUES

(

  id int(4) primary key auto_increment,

  student  varchar(20) not null,

  class carchar(20) not null,

)

编写一个 SQL 查询,列出所有超过或等于5名学生的课。

应该输出:

+---------+

| class   |

+---------+

| Math    |

+---------+

Note:

学生在每个课中不应被重复计算。

SELECT class FROM courses HAVING count(class) >= 5

 

项目四:交换工资(难度:简单)

创建一个 salary表,如下所示,有m=男性 和 f=女性的值 。

例如:

| id | name | sex | salary |

|----|------|-----|--------|

| 1  | A    | m   | 2500   |

| 2  | B    | f   | 1500   |

| 3  | C    | m   | 5500   |

| 4  | D    | f   | 500    |

 

update salary set sex = (

case 

when sex=m then sex=f

when sex=f then sex=m

end);

在数据库中创建表1和表2,并各插入三行数据(自己造)

表1: Person

+-------------+---------+

| 列名 | 类型 |

+-------------+---------+

| PersonId | int |

| FirstName | varchar |

| LastName | varchar |

+-------------+---------+

PersonId 是上表主键

create table Person(

PersonId int auto_increment primary key,

FirstName varchar not null,

LastName varchar not null

);

insert into Person (FirstName, LastName) values (' ',' ');

表2: Address

+-------------+---------+

| 列名 | 类型 |

+-------------+---------+t

| AddressId | int |

| PersonId | int |

| City | varchar |

| State | varchar |

+-------------+---------+

AddressId 是上表主键

create table Address(

AddressId int primary key auto_increment,

PersonId int not null,

City varchar not null,

State varchar not null

);

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State

 

select FirstName, LastName, City, State from Person,Address where Person.PersonId=Address.PersonId;

 

项目六:删除重复的邮箱(难度:简单)

编写一个 SQL 查询,来删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

+----+---------+

| Id | Email |

+----+---------+

| 1 | a@b.com |

| 2 | c@d.com |

| 3 | a@b.com |

+----+---------+

Id 是这个表的主键。

select distinct Email from email;

转载于:https://www.cnblogs.com/zhgmen/p/10650372.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值