day18--mysql单表&多表2

preview
需积分: 0 0 下载量 56 浏览量 更新于2022-08-08 收藏 445KB DOCX 举报
【SQL语句(DQL)详解】 SQL,全称Structured Query Language,是用于管理关系数据库的标准语言。在本章节中,我们将重点讨论SQL中的数据查询语言(DQL),特别是针对单表和多表的查询。 ### 1.1 DQL准备工作与语法 我们通过创建`product`表来准备数据。`product`表包含以下字段: - `pid`: 主键,整型,自动递增 - `pname`: 商品名称,最大长度20的varchar类型 - `price`: 商品价格,双精度浮点型 - `category_id`: 商品类别ID,最大长度32的varchar类型 然后,我们向`product`表中插入了13条记录,涵盖了不同品牌和类别的商品。 ### 1.1.2 语法 基本的查询语句结构如下: ```sql SELECT [DISTINCT] * | 列名,列名 FROM 表 WHERE 条件 ``` - `SELECT`关键字用于指定要查询的列,可以使用`*`代表所有列,或者指定具体的列名。 - `DISTINCT`用于去除查询结果中的重复值。 - `FROM`后接要查询的表名。 - `WHERE`用来设定查询条件。 ### 1.2 简单查询实例 1. 查询所有商品信息: ```sql SELECT * FROM product; ``` 2. 查询商品名和价格: ```sql SELECT pname, price FROM product; ``` 3. 使用别名,如给表名设别名`p`,列名设别名`pn`: - 表别名:`SELECT * FROM product AS p;` - 列别名:`SELECT pname AS pn FROM product;` 4. 去掉价格列的重复值: ```sql SELECT DISTINCT price FROM product; ``` 5. 运算查询,例如将价格加10元显示: ```sql SELECT pname, price + 10 FROM product; ``` ### 1.3 条件查询 条件查询允许我们根据特定条件筛选数据,包括但不限于以下操作: - 比较运算符:`>`, `<`, `<=`, `>=`, `=`, `<>` - `BETWEEN ... AND ...`:选择位于两个值之间的数据,包含边界 - `IN(set)`:选择属于指定集合的数据 - `LIKE 'pattern'`:模糊查询, `%`代表任意数量的字符,`_`代表单个字符 - `IS NULL`:检查值是否为空 举例来说: - 查询商品名为“花花公子”的所有信息: ```sql SELECT * FROM product WHERE pname = '花花公子'; ``` - 查询价格为800的商品: ```sql SELECT * FROM product WHERE price = 800; ``` - 查询价格不为800的所有商品: ```sql SELECT * FROM product WHERE price <> 800; ``` ### 多表查询 在实际应用中,常常需要对多个相关联的表进行查询。例如,如果有一个`category`表,我们可能需要查询特定类别下的所有商品。这时,可以使用`JOIN`操作连接两个表: ```sql SELECT p.pname, p.price, c.category_name FROM product p JOIN category c ON p.category_id = c.category_id WHERE c.category_name = '电子产品'; ``` 这将返回`电子产品`类别下所有商品的名称和价格。 总结,SQL的DQL部分主要包括对单表的基本查询、别名使用、条件筛选以及运算查询。在实际工作中,掌握这些基本技能是进行高效数据库操作的基础,对于处理复杂的数据查询需求至关重要。随着学习深入,你还可以学习到更复杂的查询技巧,如子查询、聚合函数、排序、分组等,这些都是构建强大数据库应用的重要工具。
身份认证 购VIP最低享 7 折!
30元优惠券