SQL案例

两张表,用户表user,订单表orders

user表字段:id,name,age,sex

create database met;
use met;
create table user(id int,name varchar(20),age int,sex varchar(20));

orders表字段:id,uid(和用户表id对应),p_name(商品名称),amount(金额),time(购买日期)

create table orders(id int,uid int,p_name varchar(20),amount float,time varchar(30));

1.给用户表插入数据(写1条sql就可以)
1,张三,20,男;
2,lisi,21,女;
3,王五,19,女
4,赵六,33,男

insert into user values(1,"张三",20,"男"),(2,"lisi",21,"女"),(3,"王五",19,"女"),(4,"赵六",33,"男");

2.插入数据如下
1,1,“苹果”,1111.5,‘2022-01-01’
2,1,“梨子”,2000,'2022-01-02'
3,2,“苹果”,1000,'2022-01-02'
4,2,“苹果”,9000,'2022-01-04'
5,3,“梨子”,1000,'2022-01-06'
6,3,“香蕉”,9000,'2022-01-11'
7,3,“橘子”,2000,'2022-01-11'

insert into orders values(1,1,"苹果",1111.5,"2022-01-01");
insert into orders values(2,1,"梨子",2000,"2022-01-02");
insert into orders values(3,2,"苹果",1000,"2022-01-02");
insert into orders values(4,2,"苹果",9000,"2022-01-04");
insert into orders values(5,3,"梨子",1000,"2022-01-06");
insert into orders values(6,3,"香蕉",9000,"2022-01-11");
insert into orders values(7,3,"橘子",2000,"2022-01-11");

3.修改id是7 的数据,p_name改为苹果酱,金额改为500

update orders set p_name="苹果酱",amount=500 where id=7;

4.查询年龄最小的用户姓名

select min(age),name from user;

5.查询amount大于5000的订单

select * from orders where amount>5000;

6.查询amount在1000到6000的订单

select * from orders where amount>1000 and amount<6000;

7.查询p_name中含有苹果的订单

select * from orders where p_name like "%苹果%";

8.查询第一个字是梨的订单

select * from orders where p_name like "梨%";

9.查询所有订单,按amount降序排列

select * from orders  order by amount desc;

10.查询订单,从第2条开始,查询4条数据

select * from orders  limit 1,4;

11.查询总金额>7000的商品 及对应总金额

select * from orders where amount>7000;

12 查询最大花费的一笔订单对应的用户姓名(如果多个,都显示)

select * from user where id in (select uid from orders where amount=(select max(amount) from orders));

13.查询订单的平均金额

select avg(amount) from orders;

14.按男女分组,显示对应的用户名,如下:
1,张三,20,男;
4,赵六,33,男
2,lisi,21,女;
3,王五,19,女

select id,name,age,sex from user group by sex;

15.查询所有用户的总消费金额,倒序,要求结果如下:
name , 金额
王五,12000
lisi,10000
....


16.删除2022年1月6号的订单

delete from orders where time="2022-01-06";

17.什么是子查询

一个查询的结果是另一个查询的条件。

18.左外和右外查询是什么,区别

左查询是以左表为主的查询,查询结合无论是否有交际左表的数据都会显示,右表仅显示和左表有关联的数据。
右查询是以右表为主,右表全部显示,左边仅显示有关联的数据。

19.内联查询是什么

内联查询是仅展示有关联的数据。
posted @   蓝桉、  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示