數據庫表操作練習
阿新 • • 發佈:2017-07-25
生產 value goods alter log ins sco pre cnblogs
/* 1、創建成績表,字段包括:學生姓名,語文成績,數學成績,英語成績 向表中插入多條數據; 查詢: (1) 查詢所有學生的數學成績和總成績 (2) 查詢所有學生的語文和數學成績和,按從高到低排序 (3) 查詢班級總成績最高的學生姓名 (4) 查詢班裏所有姓李學生的總成績最高的姓名 */ -- 創建表 create table examres( id int primary key auto_increment, name VARCHAR(20), Chinese FLOAT(5,2), Math FLOAT(5,2), English FLOAT(5,2) ); -- 插入數據 INSERT INTO examres (name, Chinese, Math, English) VALUES (‘egon‘,61.2,75.3,88), (‘alex‘,75,86,83), (‘yuanhao‘,98,96,50), (‘wupeiqi‘,86,90,87), (‘buer‘,100,100,100); -- (1) 查詢所有學生的數學成績和總成績 SELECT Math,sum(Chinese+Math+English) as toal_score FROM examres GROUP BY Math; -- (2) 查詢所有學生的語文和數學成績和,按從高到低排序 -- 不能添加name 或 * SELECT sum(Chinese+Math) FROM examres GROUP BY Chinese+Math ORDER BY Chinese+Math DESC; -- (3) 查詢班級總成績最高的學生姓名 SELECT name,max(Chinese+Math+English) FROM examres GROUP BY name ORDER BY max(Chinese+Math+English) DESC LIMIT 1; SELECT name,sum(Chinese+Math+English) as toal_score FROM examres GROUP BY name ORDER BY sum(Chinese+Math+English) DESC LIMIT 1; SELECT name,Chinese+Math+English as toal_score FROM examres where Chinese+Math+English=(SELECT max(Chinese+Math+English) from examres); -- (4) 查詢班裏所有姓李學生的總成績最高的姓名 ALTER TABLE examres CHARACTER SET utf8; SELECT name,Chinese+Math+English as toal_score FROM examres where name LIKE ‘e%‘ ORDER BY Chinese+Math+English DESC LIMIT 1; /* 2、創建一張某超市的購物表,字段包括:商品名,購物價格,商品生茶日期,商品分類; 向該表中插入多條數據; 查詢:(1)每一類商品花的總價格 (2)統計每類商品各有多少件 (3)統計水果花了多少錢(兩種方式實現) (4)統計購買的2017-01-12日生產的商品中價格最貴的商品(插入的數據中包括2017-01-12生產的商品) (5)統一購買商品的總價格 */ -- 創建表 CREATE TABLE goods_list( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), price FLOAT(6,2), pro_date DATE, class VARCHAR(20) ) CHARACTER SET utf8; -- 插入值 INSERT INTO goods_list (name, price, pro_date, class) VALUES (‘蘋果‘,20,20170612,‘水果‘), (‘香蕉‘,800,20170602,‘水果‘), (‘水壺‘,120,20170612,‘電器‘), (‘被罩‘,70,20170612,‘床上用品‘), (‘音響‘,420,20170612,‘電器‘), (‘床單‘,55,20170612,‘床上用品‘), (‘草莓‘,34,20170612,‘水果‘); -- (1)每一類商品花的總價格 SELECT class,sum(price) FROM goods_list GROUP BY class; -- (2)統計每類商品各有多少件 SELECT class,count(price) FROM goods_list GROUP BY class; -- (3)統計水果花了多少錢(兩種方式實現) SELECT class,sum(price) FROM goods_list WHERE class=‘水果‘ GROUP BY class; SELECT sum(price) FROM goods_list WHERE price in (SELECT price FROM goods_list WHERE class=‘水果‘); -- (4)統計購買的2017-06-12日生產的商品中價格最貴的商品(插入的數據中包括2017-01-12生產的商品) SELECT id,name,price,pro_date FROM goods_list WHERE pro_date=20170612 ORDER BY price DESC LIMIT 1; -- (5)統一購買商品的總價格 SELECT sum(price) as toal_price FROM goods_list;
數據庫表操作練習