紧接着上次笔记:https://blog.csdn.net/qq_52158420/article/details/121662048
2, 反向查询:通过子表查询
- 练习:查询id=2的name,title,payment
- 任务:在人员信息表中查询“软件开发”的职业信息
- 任务:查询人员信息表中查询payme在10000-20000之间的人员信息
3,使用select__related实现关联查询
以主表personinfo为查询对象
- 练习:查询人员姓名及薪资(姓名来自PerosnInfo表,薪资来自Vocation表)
不妨查看一下框架帮我们生成的关联查询语句
sql语句:SELECT index_personinfo
.name
, index_vocation
.payment
FROM index_personinfo
LEFT OUTER JO
index_vocation
ON (index_personinfo
.id
= index_vocation
.name_id
)
到Navicat里去运行上面的查询语句(采用的是左外连接)
**以子表对应的模型Vocation为查询对象
**
- 查询职业,姓名,年龄(职业来自Vocation对象,姓名,年龄来自PersonInfo对象)对应正向查询
**不妨查看一下框架帮我们生成的关联查询语句
**
sql语句:
SELECT
index_vocation.
job,
index_personinfo.
name,
index_personinfo.
ageFROM
index_vocationINNER JOIN
index_personinfoON (
index_vocation.
name_id=
index_personinfo.
id)
到Navicat里去运行上面的查询语句(采用的是右外连接)
任务:查询薪资在12000及以上的职业、姓名与年龄
- 方法一、利用Vocation关联查询PersonInfo (正向关联查询)
不妨查看一下框架帮我们生成的关联查询语句