SQL 查询语句汇总

饭宝  金牌会员 | 2024-9-23 17:27:47 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 919|帖子 919|积分 2757

在软件开发和数据分析中,SQL(布局化查询语言)是与数据库交互的重要工具。为了更好地理解 SQL 查询语句的使用,本文将计划一个简单的数据库,包括几张表,并通过这些表展示各种 SQL 查询的应用。
一、背景信息

数据库计划

我们将计划一个简单的电商系统数据库,包括以下三张表:

  • 用户表(users)

    • id: 用户唯一标识(主键)
    • name: 用户名
    • age: 用户年龄
    • email: 用户邮箱

  • 订单表(orders)

    • id: 订单唯一标识(主键)
    • user_id: 下单用户的ID(外键,关联到用户表)
    • amount: 订单金额
    • order_date: 订单日期

  • 产品表(products)

    • id: 产品唯一标识(主键)
    • name: 产品名称
    • price: 产品价格
    • stock: 产品库存

表布局示例

sql
  1. CREATE TABLE users (
  2.     id INT PRIMARY KEY,
  3.     name VARCHAR(50),
  4.     age INT,
  5.     email VARCHAR(100)
  6. );
  7. CREATE TABLE orders (
  8.     id INT PRIMARY KEY,
  9.     user_id INT,
  10.     amount DECIMAL(10, 2),
  11.     order_date DATE,
  12.     FOREIGN KEY (user_id) REFERENCES users(id)
  13. );
  14. CREATE TABLE products (
  15.     id INT PRIMARY KEY,
  16.     name VARCHAR(50),
  17.     price DECIMAL(10, 2),
  18.     stock INT
  19. );
复制代码
二、SQL 查询示例

1. 基本查询

查询全部用户信息

  1. SELECT * FROM users;
复制代码
查询全部订单信息

  1. SELECT * FROM orders;
复制代码
2. 条件查询

查询年龄大于25岁的用户

  1. SELECT * FROM users WHERE age > 25;
复制代码
查询金额大于100的订单

  1. SELECT * FROM orders WHERE amount > 100;
复制代码
3. 排序查询

查询全部用户,按年龄升序排列

  1. SELECT * FROM users ORDER BY age ASC;
复制代码
查询全部订单,按订单日期降序排列

  1. SELECT * FROM orders ORDER BY order_date DESC;
复制代码
4. 分组查询

查询每个年龄段的用户数量

sql
  1. SELECT age, COUNT(*) AS user_count FROM users GROUP BY age;
复制代码
查询每个用户的订单数量

sql
  1. SELECT user_id, COUNT(*) AS order_count FROM orders GROUP BY user_id;
复制代码
5. 聚合函数

查询用户的均匀年龄

  1. SELECT AVG(age) AS average_age FROM users;
复制代码
查询订单的总金额

  1. SELECT SUM(amount) AS total_amount FROM orders;
复制代码
6. 毗连查询

查询每个用户及其对应的订单金额

sql
  1. SELECT users.name, orders.amount
  2. FROM users
  3. INNER JOIN orders ON users.id = orders.user_id;
复制代码
查询全部用户及其订单信息(包括没有订单的用户)

sql
  1. SELECT users.name, orders.amount
  2. FROM users
  3. LEFT JOIN orders ON users.id = orders.user_id;
复制代码
7. 子查询

查询下单金额大于100的用户信息

sql
  1. SELECT * FROM users
  2. WHERE id IN (SELECT user_id FROM orders WHERE amount > 100);
复制代码
查询订单金额高于均匀订单金额的订单信息

sql
  1. SELECT * FROM orders
  2. WHERE amount > (SELECT AVG(amount) FROM orders);
复制代码
8. 团结查询

查询全部用户和产品名称(假设产品名称也在用户中)

sql
  1. SELECT name FROM users
  2. UNION
  3. SELECT name FROM products;
复制代码
9. 更新和删除

更新用户的邮箱

sql
  1. UPDATE users SET email = 'new_email@example.com' WHERE id = 1;
复制代码
删除年龄小于18岁的用户

  1. DELETE FROM users WHERE age < 18;
复制代码
结论

通过上述示例,我们展示了在电商系统中如何使用 SQL 查询语句来操纵和分析数据。掌握这些基本的查询本事,可以或许帮助开发者和数据分析师更高效地举行数据管理和决策。希望本文对你理解 SQL 查询语句有所帮助!如有问题或想分享的履历,欢迎在评论区交换!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表