mysql实例名 如何查询_MySQL查询方法实例(左右内联查询)13例

301e936e0fbb42934362767ffcf9197d.png

CREATE database test;

USE `test`;

/*Table structure for table `dept` */

DROP TABLE IF EXISTS `dept`;

CREATE TABLE `dept` (

`id` int(11) NOT NULL,

`name` varchar(50) NOT NULL COMMENT '部门名称',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `dept` */

insert into `dept`(`id`,`name`) values (1,'教育部'),(2,'销售部'),(3,'市场部'),(4,'人事部'),(5,'综合部');

/*Table structure for table `person` */

DROP TABLE IF EXISTS `person`;

CREATE TABLE `person` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`age` tinyint(4) DEFAULT NULL,

`sex` enum('男','女','中性') NOT NULL,

`dept_id` int(11) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

/*Data for the table `person` */

insert into `person`(`id`,`name`,`age`,`sex`,`dept_id`) values (1,'小三',28,'中性',1),(2,'小四',23,'男',1),(3,'小五',30,'男',1),(4,'小六',18,'女',1),(5,'张三',20,'女',2),(6,'张四',20,'女',2),(7,'张五',20,'女',2),(8,'张六',20,'女',2),(9,'黄总',21,'女',3),(10,'李总',22,'女',3),(11,'小月',17,'女',4),(12,'小王',33,'女',NULL);

1.查询部门

SELECT * FROM dept;

a19c6f660a1d851dcef975f4e0ea3c56.png

2.查询人员

SELECT * FROM person;

02f1295572d1c7d1d63dc61e8798a77b.png

3.查询人员和部门所有信息

select * from person,dept where person.id = dept.id;

4d113a47dde5ae29f301a5aa273877fe.png

多表连接查询语法(重点)

4.内连接查询 inner join on

查询人员和部门所有信息

select * from person a inner join dept d on a.id =d.id;

d3945101c35663f15a7bbf63b3c68e41.png

5.左外连接查询 left join on(注以左边的表为主,右边没有数据填NULL)

select * from person a left join dept d on a.id =d.id;

a7a92eb85ce1c25d6be021a2ece0b8d4.png

6.右外连接查询 right join on (注以右边的表为主,左边没有数据填NULL)

select * from person a right join dept d on a.id =d.id;

f6e9c38274d57c8990fdc028a59cc4c8.png

7.UNION(UNION 操作符用于合并两个或多个 SELECT 语句的结果集)

(SELECT * FROM person a LEFT JOIN dept d ON a.id =d.id)

UNION

(SELECT * FROM person a RIGHT JOIN dept d ON a.id =d.id)

c84a9808e381fd977126f6d76cced99e.png

8. UNION ALL (UNION ALL 操作符选取不同的值。如果允许重复的值)

(SELECT * FROM person a LEFT JOIN dept d ON a.id =d.id)

UNION ALL

(SELECT * FROM person a RIGHT JOIN dept d ON a.id =d.id)

aeea6867f6b79c80ff8a387d9abafa26.png

9.DISTINCT (关键词 DISTINCT 用于返回唯一不同的值。)去重

SELECT DISTINCT * FROM person;

2bf1f3df977f15b29eb5c10e7af46cec.png

11.LIMIT 分页 从第几条读到第几条

SELECT * FROM person LIMIT 1,3

833abbe748293650e6f6168ccd99512b.png

12. LIKE 操作符

SELECT * FROM person where name like '张%'

3020a79a40c622db4fa2908d46ce6428.png

13. IN 操作符允许我们在 WHERE 子句中规定多个值。

SELECT * FROM person where id in (1,2,3)

8c9f7af9c3a31da91898cf49ff164176.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值