目錄
練習(xí)內(nèi)容
worker表要求
創(chuàng)建的表的表結(jié)構(gòu)
表中的數(shù)據(jù)內(nèi)容
對(duì)數(shù)據(jù)的操作
1.顯示所有職工的基本信息
2.查詢所有職工所屬部門的部門號(hào),不顯示重復(fù)的部門號(hào)
3.求出所有職工的人數(shù)
4.列出最高工和最低工資
5.列出職工的平均工資和總工資
6.創(chuàng)建一個(gè)只有職工號(hào)、姓名和參加工作的新表,名為工作日期表
7.列出所有姓劉的職工的職工號(hào)、姓名和出生日期
8.列出1960年以前出生的職工的姓名、參加工作日期
9.列出工資在1000一2000之間的所有職工姓名
10.列出所有陳姓和李姓的職工姓名
11.列出所有部門號(hào)為2和3的職工號(hào)、姓名、黨員否
12.將職工表worker中的職工按出生的先后順序排序
13.顯示工資最高的前3名職工的職工號(hào)和姓名
14.求出各部門黨員的人數(shù)
15.統(tǒng)計(jì)各部門的工資和平均工資
16.列出總?cè)藬?shù)大于4的部門號(hào)和總?cè)藬?shù)
練習(xí)內(nèi)容
????????創(chuàng)建一個(gè)工作者的表?,對(duì)表中數(shù)據(jù)進(jìn)行相關(guān)操作
worker表要求
創(chuàng)建的表的表結(jié)構(gòu)
CREATE TABLE worker(
部門號(hào) int(11) NOT NULL,
職工號(hào) int(11) NOT NULL,
工作時(shí)間 date NOT NULL,
工資 float(8,2) NOT NULL,
政治面貌 varchar(10) NOT NULL DEFAULT '群眾',
姓名 varchar(20) NOT NULL,
出生日期 date NOT NULL,
PRIMARY KEY (職工號(hào))
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
表中的數(shù)據(jù)內(nèi)容
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (101,1001,'2015-5-4',3500.00,'群眾','張三','1990-7-1');
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (101,1002,'2017-2-6',3200.00,'團(tuán)員','李四','1997-2-8');
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (102,1003,'2011-1-4',8500.00,'黨員','王亮','1983-6-8');
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (102,1004,'2016-10-10',5500.00,'群眾','趙六','1994-9-5');
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (102,1005,'2014-4-1',4800.00,'黨員','錢七','1992-12-30');
INSERT INTO worker (部門號(hào),職工號(hào),工作時(shí)間,工資,政治面貌,姓名,出生日期) VALUES (102,1006,'2017-5-5',4500.00,'黨員','孫八','1996-9-2');
對(duì)數(shù)據(jù)的操作
1.顯示所有職工的基本信息
mysql> select * from worker;
2.查詢所有職工所屬部門的部門號(hào),不顯示重復(fù)的部門號(hào)
mysql> select distinct 部門號(hào) from worker;
3.求出所有職工的人數(shù)
mysql> select count(*) from worker;
4.列出最高工和最低工資
mysql> select max(工資),min(工資) from worker;
5.列出職工的平均工資和總工資
mysql> select sum(工資),avg(工資) from worker;
6.創(chuàng)建一個(gè)只有職工號(hào)、姓名和參加工作的新表,名為工作日期表
mysql> create table worker_day select 職工號(hào),姓名,出生日期 from worker;
7.列出所有姓劉的職工的職工號(hào)、姓名和出生日期
mysql> select 職工號(hào),姓名,出生日期 from worker where 姓名 like '劉%';
?因?yàn)榇吮碇袥](méi)有性劉的職工,所以查詢沒(méi)有任何內(nèi)容,若果查詢姓張的
mysql> select 職工號(hào),姓名,出生日期 from worker where 姓名 like '張%';
8.列出1960年以前出生的職工的姓名、參加工作日期
mysql> select 姓名,工作時(shí)間 from worker where year(出生日期) < 1960;
因?yàn)闆](méi)有1960年以前出生的職工,所以查詢?yōu)榭毡?/p>
9.列出工資在1000一2000之間的所有職工姓名
mysql> select 姓名 from worker where 工資 between 1000 and 2000;
?因?yàn)闆](méi)有工資在1000一2000之間的職工,所以查詢?yōu)榭毡?/p>
10.列出所有陳姓和李姓的職工姓名
mysql> select 姓名 from worker where 姓名 like '陳%' or 姓名 like '李%';
因?yàn)闆](méi)有姓陳的職工,所以查詢結(jié)果只有姓李的職工
11.列出所有部門號(hào)為2和3的職工號(hào)、姓名、黨員否
select `職工號(hào)`,`姓名`,(locate('黨員',政治面貌)) as `是(1)否(0)黨員` from worker where `部門號(hào)`=102 or `部門號(hào)`=103;
locate() 查找某個(gè)字段里面是否有某個(gè)某個(gè)字符串 是(1)否(0)?
12.將職工表worker中的職工按出生的先后順序排序
mysql> mysql> select * from worker order by year(出生日期);
13.顯示工資最高的前3名職工的職工號(hào)和姓名
mysql> select 職工號(hào),姓名 from worker order by 工資 desc limit 0,3;
14.求出各部門黨員的人數(shù)
mysql> select 部門號(hào),sum(locate('黨員',政治面貌)) 黨員數(shù) from worker group by 部門號(hào);
15.統(tǒng)計(jì)各部門的工資和平均工資
mysql> mysql> select 部門號(hào),sum(工資) 工資 , avg(工資) 平均工資 from worker group by 部門號(hào);
16.列出總?cè)藬?shù)大于4的部門號(hào)和總?cè)藬?shù)
mysql> select 部門號(hào),count(姓名) 總?cè)藬?shù) from worker group by 部門號(hào) having count(姓名)>4;
因?yàn)闆](méi)有總?cè)藬?shù)大于4的部門,所以查詢結(jié)果為空文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-546616.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-546616.html
到了這里,關(guān)于數(shù)據(jù)庫(kù)之MySQL數(shù)據(jù)操作練習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!