mysql 单表关联_MySQL 基础之 单表、多表联查

本文详细介绍了MySQL中的单表查询、分组查询、聚合函数、HAVING子句以及多表联查操作,包括LEFT JOIN、RIGHT JOIN、INNER JOIN等。通过实例展示了如何使用这些操作来实现数据的检索、分组和关联查询,同时讨论了NOT NULL与空值的区别在查询中的体现。
摘要由CSDN通过智能技术生成

使用和不使用not null 的区别:

不使用: 查询时用‘name is null’ 作为条件

mysql>create table t8(

-> id int auto_increment primary key,

-> name varchar(32),

-> email varchar(32)

-> )charset=utf8;

mysql>insert into t8(email) values ('allen');

mysql> select * from t8;

+----+------+-------+

| id | name | email |

+----+------+-------+

| 1 | NULL | allen |

+----+------+-------+

1 row in set (0.01 sec)

mysql> select * from t8 where name is null;

+----+------+-------+

| id | name | email |

+----+------+-------+

| 1 | NULL | allen |

+----+------+-------+

1 row in set (0.00 sec)

使用:查询时用‘name=’‘ ’作为查询条件

mysql> create table t9(

-> id int auto_increment primary key,

-> name varchar(32) not null default '',

-> email varchar(32) not null default ''

-> )charset=utf8;

mysql> insert into t9 (email) values ('allen');

mysql> select * from t9;

+----+------+-------+

| id | name | email |

+----+------+-------+

| 1 | | allen |

+----+------+-------+

1 row in set (0.00 sec)

mysql> select * from t9 where name='';

+----+------+-------+

| id | name | email |

+----+------+-------+

| 1 | | allen |

+----+------+-------+

1 row in set (0.01 sec)

单表操作:

单表查询的语法:

select 字段1,字段2 from 表名

where 条件

group by field

having 筛选

order by field

limit 限制条数

分组:group by

分组指的是:

将所有记录按照某个相同字段进行归类,比如针对员工信息表的职位分组,或者按照性别进行分组等

用法:select 聚合函数,字段名 from 表名 group by 分组的字段;

group by 是分组的关键词, 必须和聚合函数 一起出现

where 条件语句和groupby分组语句的先后顺序:

where > group by > having(*********)

例子:

创建表:

create table emp(

id int not null unique auto_increment,

name varchar(20) not null,

gender 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,gender,age,hire_date,post,salary,office,depart_id) values

('egon','male',18,'20170301','老男孩驻沙河办事处外交大使',7300.33,401,1), #以下是教学部

('alex','male',78,'20150302','teacher',1000000.31,401,1),

('wupeiqi','male',81,'20130305','teacher',8300,401,1),

('yuanhao','male',73,'20140701','teacher',3500,401,1),

('liwenzhou','male',28,'20121101','teacher',2100,401,1),

('jingliyang','female',18,'20110211','teacher',9000,401,1),

('jinxin','male',18,'19000301','teacher',30000,401,1),

('成龙','male',48,'20101111','teacher',10000,401,1),

('歪歪','female',48,'20150311','sale',3000.13,402,2),#以下是销售部门

('丫丫','female',38,'20101101','sale',2000.35,402,2),

('丁丁','female',18,'20110312','sale',1000.37,402,2),

('星星','female',18,'20160513','sale',3000.29,402,2),

('格格','female',28,'20170127','sale',4000.33,402,2),

('张野','male',28,'20160311','operation',10000.13,403,3), #以下是运营部门

('程咬金','male',18,'19970312','operation',20000,403,3),

('

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值