MySQL:SELECT查询数据

1. 数据查询语法

SQL99查询语法:

select 【distinct】 字段|表达式,…
from 表1
【inner|left outer|right outer|cross join 表2 on 连接条件】
【inner|left outer|right outer|cross join 表3 on 连接条件】
【where 筛选条件】
【group by 分组字段】
【having 分组后的筛选条件】
【order by 排序的字段或表达式 【asc|desc】】
【limit 【起始序号|条数】【截止序号】】

说明:
(1)关键字必须严格按照这样的顺序。
(2)distinct关键字对查询的结果进行去重操作,必须放在最前面。

1.1 WHERE 条件查询

条件查询:根据条件过滤原始表的数据,查询到想要的数据

语法:

	select 
		要查询的字段|表达式|常量值|函数
	from 
		表
	where 
		条件 ;

分类:
(1)条件表达式
条件运算符: > < >= <= = != <>

(2)逻辑表达式
示例:salary>10000 && salary<20000
逻辑运算符:
and(&&):两个条件如果同时成立,结果为true,否则为false
or(||):两个条件只要有一个成立,结果为true,否则为false
not(!):如果条件成立,则not后为false,否则为true

(3)like模糊查询
% 匹配任意多个字符
_ 匹配任意单个字符

#示例:查询查询员工姓名中包含字母‘o’的员工的姓名和薪资
select name,salary from emp where name like '%o%';

#示例:查询员工姓名是由四个字符组成的员工的姓名和薪资
select name,salary from emp where name like '____';
select name,salary from emp where char_length(name) = 4;

建样表

#员工信息表
create table emp(
  id int not null unique auto_increment,
  name varchar(20) not null,
  sex enum('male','female') not null default 'male', #大部分是男的
  age int(3) unsigned not null default 28,
  hire_date date not null,
  post varchar(50),
  post_comment varchar(100),
  salary double(15,2),
  office int, #一个部门一个屋子
  depart_id int
);

插入记录

#三个部门:教学,销售,运营
insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values
('jason','male',18,'20170301','张江第一帅形象代言',7300.33,401,1), #以下是教学部
('tom','male',78,'20150302','teacher',1000000.31,401,1),
('kevin','male',81,'20130305','teacher',8300,401,1),
('tony','male',73,'20140701','teacher',3500,401,1),
('owen','male',28,'20121101','teacher',2100,401,1),
('jack','female',18,'20110211','teacher',9000,401,1),
('jenny','male',18,'19000301','teacher',30000,401,1),
('sank','male',48,'20101111','teacher',10000,401,1),
('哈哈','female',48,'20150311','sale',3000.13,402,2),
('呵呵','female',38,'20101101','sale',2000.35,402,2),
('西西','fema
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值