26 SQL ——列子查询

create table dept
  (
  id int primary key auto_increment,
  name  varchar(15)
  )
 comment '部门';

insert into dept(id, name) values (1,'研发部'),
                                  (2,'市场部'),
                                  (3,'财务部'),
                                  (4,'销售部'),
                                  (5,'总经办'),
                                  (6,'人事部');

create table  staff
(
 id int			primary key  auto_increment	comment'ID',
  name    varchar(15)       comment'姓名',
  age        int            comment'年龄',
  job    varchar(15)        comment  '工作',
  salary int                comment   '薪资',
  wokeday  date              comment    '工作时间',
 mange       int            comment   '直属领导Id',
 dept_id    int             comment   '部门Id'
)comment '员工';

 insert into  staff ( id,name,age,job,salary,wokeday,mange,dept_id)values(1,'金庸',66,'总裁',3000,'2000-1-1',null,5),
														            	(2,'张无忌',34,'项目经理',3000,'2013-1-1', 1,1),
															            (3,'杨逍',13,'开发',     3000,'2021-1-1',   2,1),
															            (4,'纬一路',45,'开发',3450,'2024-1-2',      2,1),
															            (5,'常遇春',34,'开发',3020,    '2016-1-1',  3,1),
															            (6,'小赵',23,'程序员鼓励师',3560,'2015-1-1', 2,1),
															            (7,'灭绝',26,'财务总监',3780,'2013-1-1',     1,3),
														            	(8,'抽纸若',47,'会计',3230,'2023-1-1',       7,3),
															            (9,'金马',38,'出纳',3780,'2012-1-1',         7,3),
															            (10,'谢逊',56,'市场部总监',3034,'2010-1-1',   1,2),
															            (11,'大师',59,'职员',3550,'2009-1-1',       10,2),
															            (12,'白毛',50,'职员',3890,'2008-1-1',       10,2),
															            (13,'红爪',27,'职员',3220,'2007-1-1',       10,2),
															            (14,'龙珠',34,'销售总监',4000,'2001-1-1',     1,4),
                                                                        (15,'宋远桥',45,'销售总监',5000,'2002-1-1',   14,4),
                                                                        (16,'天王例',89,'销售总监',8900,'2003-1-1',   14,4),
                                                                        (17,'张三丰',53,'销售总监',6700,'2004-1-1',  1,null);


alter table  staff add constraint fk_staff_dept_id foreign key  (dept_id) references dept(id) ;-- 建立外键链接

-- 列子查询(结果为一列多行)
-- 1.查询"销售部"和"市场部"的所有员工信息'
-- a.查询“销售部”和"市场部”的部门ID
select id from dept where name='销售部' or  name='市场部';
-- b.根据部门ID,查询员工信息
select * from staff where dept_id in (2,4);
select * from staff where dept_id in (select id from dept where name='销售部' or  name='市场部');


-- 2.查询比财务部所有人工资都高的员工信息(满足多个条件即可)
-- a  查询财务部所有人工资
select  id from dept where name='财务部';
select  salary from staff where dept_id=3;

select  salary from staff where dept_id=(select  id from dept where name='财务部');

select * from staff where  salary>all (select  salary from staff where dept_id=(select  id from dept where name='财务部'));


-- 3.查询比研发部其中任意一人工资高的员工信息
-- a  查询研发部所有人工资
select  id from dept where name='研发部';
select  salary from staff where dept_id=1;
select  salary from staff where dept_id=(select  id from dept where name='研发部');

-- b.比研发部其中任意一人工资高的员工信息(满足一个条件即可)
select * from  staff where  salary>any (select  salary from staff where dept_id=(select  id from dept where name='研发部'));




在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL查询,OR是一个逻辑运算符,用于在查询条件指定多个条件之一成立即可返回结果。可以使用OR运算符将多个条件组合在一起,以便在满足任何一个条件时返回结果。 例如,如果我们想要查询身高与Rose相同或者名字以Rose开头的学生,可以使用OR运算符来实现。以下是一个示例查询语句: ``` SELECT * FROM student WHERE height = (SELECT height FROM student WHERE sname = 'Rose') OR sname LIKE 'Rose%' ``` 这个查询语句首先使用子查询获取到Rose的身高,然后使用OR运算符将身高与Rose相同的条件和名字以Rose开头的条件组合在一起,返回满足任何一个条件的学生记录。 另外,OR运算符也可以与其他逻辑运算符(如AND)一起使用,以构建更复杂的查询条件。例如,我们可以查询名字以Rose开头或者身高大于等于170的学生: ``` SELECT * FROM student WHERE sname LIKE 'Rose%' OR height >= 170 ``` 这个查询语句使用OR运算符将名字以Rose开头的条件和身高大于等于170的条件组合在一起,返回满足任何一个条件的学生记录。 总之,OR运算符在SQL查询用于指定多个条件之一成立即可返回结果。可以与其他逻辑运算符一起使用,以构建更复杂的查询条件。 #### 引用[.reference_title] - *1* *2* *3* [SQL语句——查询语句](https://blog.csdn.net/aigo_2021/article/details/123317646)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值