查询年龄不大于 20 岁的教师所教的所有课程的课程名(Lintcode刷题)
题目如下
描述
请编写 SQL 语句, 联合教师表(teachers)和课程表(courses),查询课程表中年龄不大于 20 岁的教师所教的所有课程的课程名(name)。
表定义:teachers(教师表)
表定义:courses(课程表)
样例
样例一:
表内容 : teachers
表内容:courses
很明显,这个题可能用到连接查询(因为我们需要根据教师表的年龄作为限制条件,来查到可能表中相应的课程。所以我们需要两张表。但是我们还可以按照常规的思维模式。分开查询)
方法一:(常规思维)
selectname
from courses
whereteacher_id in (selectidfromteacherswhereage <= 20);
解析,我们要查询的是课程名字,那么select name是没有问题这样写的,然后这个可能名字来自courses表,所以from courses表。然后条件是什么呢?条件是老师的年龄小于等于20,年龄在teachers表中,所以我们写出基本的条件,然后利用这个条件,我们对courses表的所要查的课程名进行限制,两表只有对应的id可以进行限制,所以我们从限制符合该条件的id进行限制我们要获取的课程名。(id作为了连接的条件)
方法二:显式内连接
selectt2.name
from teachers as t1 join courses as t2ont1.id = t2.teacher_id
wheret1.age <= 20;
判断出连接查询,就直接进行写代码进行连接,分别将id作为连接条件,然后限制年龄,这样也可以直接求出来。
方法三:左连接查询
select c.name as name
from courses c
left join teachers t on c.teacher_id=t.id
where t.age<=20;
左连接就是以左表为基准,按照左表匹配,右表没有的就会为置为空,而右连接反之。
查询年龄不大于 20 岁的教师所教的所有课程的课程名(Lintcode刷题)相关推荐
- Js函数:根据身份证号码判断年龄是否大于18岁
/**2 * 根据身份证号得到姓别和精确计算年龄3 */4 function analyzeIDCard(IDCard){5 //获取用户身份证号码6 var userCard = IDCard;7 ...
- 数据库,计算机网络、操作系统刷题笔记20
数据库,计算机网络.操作系统刷题笔记20 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其s ...
- 数据库之查询表student——查询计算机系年龄在20岁以下的学生姓名
SELECT snameFROM studentWHERE sdept = 'CS' AND sage < 20; 注意限制条件为计算机系且20岁以下
- C语言编程>第六周 ④ 聚会时规定:男生,超过18岁可以喝酒,没有超过18岁时,喝饮料;女生,超过20岁时,可以喝酒,没有超过20岁时,喝饮料;请输入学生性别和学生的年龄,并根据输入的情况……
例题:聚会时规定:男生,超过18岁可以喝酒,没有超过18岁时,喝饮料:女生,超过20岁时,可以喝酒,没有超过20岁时,喝饮料:请输入学生性别和学生的年龄,并根据输入的情况来判断喝什么! 代码如下: # ...
- 用C语言解决:小明今年12岁,他的母亲比他大20岁,他母亲在几年之后将比他的年龄大一倍,编写一个程序计算出那时他们两人的年龄各多少?
用C语言解决:小明今年12岁,他的母亲比他大20岁,他母亲在几年之后将比他的年龄大一倍,编写一个程序计算出那时他们两人的年龄各多少? #include <stdio.h>int main( ...
- 显示所有年龄大于18岁的男生
Oracle PL/SQL plsql PL/SQL编程显式游标显示所有年龄大于18岁的男生 declarecursor p is select * from student where sex='男 ...
- 20岁,一个美好却又操蛋的年龄!
今天很有幸去派发少儿嘟嘟课的宣传单页,站在小学门口,看着一群红着脸的小家伙,一边吸着鼻涕,口里喊着一些令人找不着头脑的动画台词,肆意地追捉打闹,颇有几分滑稽,不经想起自己是不是也曾这副模样呢. 20岁 ...
- 使用mysql内连接查询年龄_Mysql的连表查询
若一个查询同时涉及到两个以上的表,称为连表查询 准备表 create table department( id int auto_increment PRIMARY KEY, name varchar ...
- 马云离职后,20岁的阿里凭什么做成“102年的企业”?
| 作者:电商君,本文经授权转载自公众号电商报(ID:kandianshang) 让港交所改规则的"奇葩"制度 黯然销魂者,唯别而已矣! 如今,离马云于今年9月10日卸任阿里巴巴 ...
最新文章
- 深入浅出Android动态载入jar包技术
- 什么是拉电流和灌电流?
- 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一
- 玩转以太坊(Ethereum)的测试网络
- mysql+影响的行数+获取_我们如何获得受MySQL查询影响的总行数?
- 关于Qt的三种协议以及是否收费
- css背景上能添加文字,CSS3怎么为文字添加背景?
- oracle for循环
- 51信用卡在微服务架构下的监控平台架构实践
- 做了十年的功能测试,下一步该晋升测试开发还是转行软件开发?
- Vue 服务端渲染(SSR)、Nuxt.js - 从入门到实践
- 阿里云公司简介介绍资料
- 自动控制原理学习笔记(二)线性定常连续控制系统的数学模型
- asp二进制mysql_asP 读取二进制数据库
- 领克02linux车机怎么升级,你们想看的领克02长测报告来了,一篇读懂02的车机系统...
- Idea一键导入所有缺省的包
- windows 命令方式查找指定IP的MAC地址
- 【进程间通信】进程间通信方式汇总
- python语言最早的可用版本诞生于几几年_python语言公开发行版本诞生于哪年
- matlab hold on解释,matlab中hold on怎么用