MySQL的常用查询

这篇博客介绍了MySQL中的多种查询方法,包括查找记录、计算列的最大值、使用LIMIT子句、按组显示最大值、用户变量、外键约束、联合查询、UNION操作、计算重复数据以及AUTO_INCREMENT的使用。通过实例详细解析了各种查询语句的应用。
摘要由CSDN通过智能技术生成

一、实验简介

1.1 实验内容

本节实验中我们将通过一个经销商数据库的实例来学习并实践多种常用的在数据库中查找记录的方法。

1.2 实验知识点

  • 表查询操作

二、实验步骤

在下面的例子中使用数据表 shop 来存储商人(经销商)的每件物品(物品号)对应的价格。假如每个商人对应的每个物品都有一个固定的价格,那么该表中的关键字就是物品商人

通过如下代码创建一个示例表:

# 创建 shop 数据表,散列数据:物品编号、经销商、价格
# ZEROFILL 表示如果一个 INT 类型的数不足 4 位就在前面补零且不允许出现负数
# DOUBLE(16, 2) 表示该数值至多占 16 位,包括小数点儿,其中小数位数至多两位
mysql> CREATE TABLE shop (
    -> article INT(4) ZEROFILL DEFAULT '0',
    -> dealer CHAR(20) DEFAULT '',
    -> price DOUBLE(16, 2) DEFAULT '0.00',
    -> PRIMARY KEY (article, dealer)
    -> );

# 插入数据
mysql> INSERT INTO shop VALUES
    -> (1,'A',3.45), (1,'B',3.99), (2,'A',10.99), (3,'B',1.45),
    -> (3,'C',1.69), (3,'D',1.25), (4,'D',19.95);

执行以下语句查看表的内容:

mysql> SELECT * FROM shop;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|    0001 | A      |  3.45 |
|    0001 | B      |  3.99 |
|    0002 | A      | 10.99 |
|    0003 | B      |  1.45 |
|    0003 | C      |  1.69 |
|    0003 | D      |  1.25 |
|    0004 | D      | 19.95 |
+---------+--------+-------+
7 rows in set (0.01 sec)

寻找列的最大值

使用 MAX 函数计算物品号 article 的最大值:

mysql> SELECT MAX(article) as article FROM shop;

 

 

查询某列最大值所在的行

# 显示 price 这一列最大值对应的行
mysql> SELECT article, dealer, price
    -> FROM   shop
    -> WHERE  price=(SELECT MAX(price) FROM shop);

 

另外一个方法是对所有行进行价格的降序排序,然后使用 MySQL 特有的 LIMIT 子句显示其中一行(这里是指定第一行显示最高价格):

mysql> SELECT article, dealer, price
    -> FROM shop
    -> ORDER BY price DESC
    -> LIMIT 1;

大家可以输入上述语句查询结果是否一样。

注:如果有多项物品的价格都是19.95(最贵的物品不止一个),那么LIMIT的显示结果也只会显示其中一个

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值