資料庫中單表查詢
一、單表查詢
素材: 表名:worker-- 表中欄位均為中文,比如 部門號 工資 職工號 參加工作 等
CREATE TABLE `worker` (
`部門號` int(11) NOT NULL,
`職工號` int(11) NOT NULL,
`工作時間` date NOT NULL,
`工資` float(8,2) NOT NULL,
`政治面貌` varchar(10) NOT NULL DEFAULT '群眾',
`姓名` varchar(20) NOT NULL,
`出生日期` date NOT NULL,
PRIMARY KEY (`職工號`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (101, 1001, '2015-5-4', 3500.00, '群眾', '張三', '1990-7-1');
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (101, 1002, '2017-2-6', 3200.00, '團員', '李四', '1997-2-8');
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (102, 1003, '2011-1-4', 8500.00, '黨員', '王亮', '1983-6-8');
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (102, 1004, '2016-10-10', 5500.00, '群眾', '趙六', '1994-9-5');
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (102, 1005, '2014-4-1', 4800.00, '黨員', '錢七', '1992-12-30');
INSERT INTO `worker` (`部門號`, `職工號`, `工作時間`, `工資`, `政治面貌`, `姓名`, `出生
日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '黨員', '孫八', '1996-9-2');
二、建立表
1、顯示所有職工的基本資訊。
mysql> selsct * from worker;
2、查詢所有職工所屬部門的部門號,不顯示重複的部門號。
mysql> select distinct 部門號 from worker;
3、求出所有職工的人數。
mysql> select count(職工號) from worker;
4、列出最高工和最低工資。
mysql> select max(工資),min(工資) from worker;
5、列出職工的平均工資和總工資。
mysql> select avg(工資),sum(工資) from worker;
6、建立一個只有職工號、姓名和參加工作的新表,名為工作日期表。
mysql> create table workertime select 職工號,姓名,工作時間 from worker;
7、顯示所有女職工的年齡。
mysql> select 姓名,2020 - year(出生日期) 年齡 from worker;
8、列出所有姓劉的職工的職工號、姓名和出生日期。
mysql> select 職工號,姓名,出生日期, from worker where 姓名 like ‘劉%’;
9、列出1960年以前出生的職工的姓名、參加工作日期。
10、列出工資在1000-2000之間的所有職工姓名。
11、列出所有陳姓和李姓的職工姓名。
mysql> select 姓名 from worker where 姓名 like '陳%'or 姓名 like ‘李%’;
12、列出所有部門號為2和3的職工號、姓名、黨員否。
13、將職工表worker中的職工按出生的先後順序排序。
mysql> select 姓名 from worker order by 出生日期;
14、顯示工資最高的前3名職工的職工號和姓名。
mysql> select 職工號,姓名 from worker order by 工資 desc limit 3;
15、求出各部門黨員的人數。
mysql> select 部門號,count()from worker where 政治面貌='黨員’group by 部門號;
16、統計各部門的工資和平均工資。
mysql> select 部門號,sum(工資),avg(工資) from worker group by 部門號;
17、列出總人數大於4的部門號和總人數。
mysql> select 部門號,count() from worker group by 部門號 having count(*) > 4;
相關文章
- 資料庫基礎查詢--單表查詢資料庫
- 【資料庫】sql連表查詢資料庫SQL
- 查詢資料庫表是否存在資料庫
- MySQL查詢資料庫中沒有主鍵的表MySql資料庫
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- 查詢Oracle資料庫使用者表中的多少資料量Oracle資料庫
- 查詢指定的表在那些資料庫中存在(轉)資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- 查詢MySQL資料庫,MySQL表的大小MySql資料庫
- MySQL - 資料查詢 - 簡單查詢MySql
- 資料庫中介軟體 MyCAT原始碼分析:【單庫單表】查詢【推薦閱讀】資料庫原始碼
- 資料庫查詢資料庫
- 資料庫 - 資料查詢資料庫
- 資料庫資料的查詢----連線查詢資料庫
- 查詢a表中b表沒有的資料,使用not exists
- MySQL—-MySQL資料庫入門—-第四章 單表查詢MySql資料庫
- 如何在Oracle資料庫中查詢表和欄位說明Oracle資料庫
- 單表查詢
- 資料庫學習筆記之查詢表資料庫筆記
- MySQL(三) 資料庫表的查詢操作【重要】MySql資料庫
- mysql 資料庫或者表空間使用查詢MySql資料庫
- SQL Server 查詢資料庫中所有表資料條數SQLServer資料庫
- 在資料庫中查詢關鍵字資料庫
- Oracle資料庫中的分頁查詢Oracle資料庫
- 資料庫高階查詢之子查詢資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 查詢資料庫大小資料庫
- 資料庫排序查詢資料庫排序
- Jemter查詢資料庫資料庫
- efcore 跨表查詢,實現一個介面內查詢兩個不同資料庫裡各自的表資料資料庫
- mysql資料庫連表查詢的幾種方法MySql資料庫
- 查詢資料庫每個表佔用的大小資料庫
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- SQLSERVER查詢某個資料庫有幾張表SQLServer資料庫
- 資料庫三表連線查詢怎麼做資料庫
- MySQL單表查詢MySql