一、用create table语句创建“员工表”
use 员工管理; create table 员工表 ( 编号 int, 姓名 varchar(20), 职位 varchar(40), 月工资 double(10,2), 月奖金 double(10,2), 年龄 int );
插入数据记录:
向“员工表”中插入值为
“123、张三、店员、800.00、null、29”
“234、李四、店员、1600.00、300.00、30”
“345、王二、店长、3200.00、800.00、32”
“456、老王、经理、5000.00、1000.00、35”的记录。
insert into 员工表 values(123,'张三','店员',800.00,null,29), (234,'李四','店员',1600.00,300.00,30), (345,'王二','店长',3200.00,800.00,32), (456,'老王','经理',5000.00,1000.00,35);
二、简单数据查询
1、简单数据查询
(1)查询所有字段数据:
select 编号,姓名,职位,月工资,月奖金,年龄 from 员工表;
(2)“*”符号的使用:\ 用*查询所有字段数据\
select * from 员工表;
(3)查询指定字段数据:\ 查询编号、姓名、月工资数据\
select 编号,姓名,月工资 from 员工表;
2、避免重复数据查询:
查询职务的所有数据,同时去除重复数据
select distinct 职务 from 员工表;
3、数学四则运算数据查询:
(1)查询每个员工的年薪数据;
select 姓名,月工资*12 from 员工表;
4、设置显示格式数据查询:
查询员工年薪,且以“员工的年薪为:月工资*12”显示:
select concat (姓名,'员工的年薪为:',月工资*12) as 年薪 from 员工表;
三、条件数据记录查询
1、带关系运算符和逻辑运算符的条件数据查询
(1)单条件数据查询:
查询从事经理的工作的员工姓名
select 姓名 from 员工表 where 职务='经理';
(2)多条件数据查询:
查询从事店员工作的且月工资大于800的员工姓名
select 姓名 from 员工表 where 职位='店员'&&月工资>800; 或者 select 姓名 from 员工表 where 职位='店员'and 月工资>800;
2、带between and 关键字范围查询
(1)符合范围的数据记录查询:
查询月工资1000-4000的员工姓名
select 姓名 from 员工表 where 月工资 between 1000 and 4000;
(2)不符合范围的数据记录查询:
查询工资不在1000-4000的员工姓名
select 姓名 from 员工表 where 月工资 not between 1000 and 4000;
3、带is null关键字的空值查询
(1)空值数据记录查询:
查询没有领取奖金的员工姓名
select 姓名 from 员工表 where 月奖金is null;
(2)不是空值数据记录查询:
查询所有领取奖金的员工姓名
select 姓名 from 员工表 where is not null;
4、带in关键字的集合查询
(1)在集合中数据记录查询:
查询员工编号为234、345的员工姓名
select 姓名 from 员工表 where 编号=234 or 编号=345; 或者 select 姓名 from 员工表 where 编号 in(234,345); C语言语句select 姓名 from 员工表 where 编号=234 || 编号=345;
(2)不在集合中数据记录查询:
查询员工编号不是234、345的员工姓名
select 姓名 from 员工表 where 编号 not in(234,345); select 姓名 from 员工表 where not 编号=234 || 编号=345;
(3)关于集合查询注意点
添加一条带null的编号数据
insert into 员工表 values(null,'小李','店员',900.00,200,29); select * from 员工表;
查询员工编号为234、345的员工姓名\ in查询包括null值,查询结果一样\
select 姓名 from 员工表 where 编号 in(234,345,null);
查询员工编号不是234、345的员工姓名\ 查询中有null值,则报空\
select 姓名 from 员工表 where 编号 not in(234,345,null);
5、带like关键字的模糊查询
(1)带有%通配符的查询:
向员工表中插入数据
insert into 员工表 values(567,'ALLEN','店员',900.00,200,31), (678,'ANDY','店员',900.00,200,33);
查询员工中以A开头的姓名有哪些
select 姓名 from 员工表 where 姓名 like 'A%';
查询员工中不是以A开头的姓名有哪些
select 姓名 from 员工表 where not 姓名 like 'A%';
(2)带有_通配符的查询:
向员工表中插入数据
insert into 员工表 values(789,'JAMES','店员',900.00,200,29);
查询员工中第二个字母是A的姓名有哪些?
select 姓名 from 员工表 where 姓名 like '_A%';
查询员工中第二个字母不是A的姓名有哪些?
select 姓名 from 员工表 where 姓名 not like '_A%';
(3)带like关键字的模糊查询注意点:
查询员工中不带A字符的全部员工姓名
select 姓名 from 员工表 where 姓名 not like '%A%';
查询月工资中带有数字5的全部姓名
select 姓名 from 员工表 where 月工资 like '%5%';
四、排序数据记录查询\ 空值null要作为最小值使用\
1、按照单字段排序
(1)升序排序:
查询结果按照月工资升序排序:
select * from 员工表 order by 月工资 ASC; 或者 select * from 员工表 order by 月工资;
(2)降序排序:
查询结果按照月工资降序排序:
select * from 员工表 order by 月工资 desc;
2、按照多字段排序
查询结果首先按照月工资升序排序,然后再按照年龄降序排序
select * from 员工表 order by 月工资 ASC,年龄 DESC;
什么是查询数据记录?
是指从数据库对象表中获取所要求的数据记录。
简单数据记录查询有几种方式?
1.简单数据记录查询
2.条件数据记录查询
3.排序数据记录查询
4.限制数据记录查询数量
5.统计函数和分组数据记录查询
3.MySQL中关系运算符、比较运算符、逻辑运算符分别有哪些?
比较运算符,{+,-,*,%,/}
比较运算符,{>,<,=,!=(<>),>=,<=}
逻辑运算符:{and(&&),or(||),xor,not(!)}