- select m.columnname……,n.* columnname…..
- from left_table m left join right_table n on m.columnname_join=n.columnname_join and n.columnname=xxx
- where m.columnname=xxx…..
ON是连接前提,用于把2表中等值的记录连接在一路,然则不影响记录集的数量。若是表left_table中的某记录,无法在表right_table找到对应的记录,则此记录依然显示在记录集中,只是表right_table须要在萌芽显示的列的值用NULL替代;
ON连接前提中表n.columnname=xxx用于控制right_table表是否有相符请求的列值照样用NULL调换的方法显示在萌芽列中,不影响记录集的数量;
WHERE字灸┞菲握记录是否相符萌芽请求,不相符则过滤掉落
2.右连接(right join)
- select m.columnname……,n.* columnname…..
- from left_table m right join right_table n on m. columnname_join=n. columnname_join and m. columnname=xxx
- where n.columnname=xxx…..
3.等值连接
- select m.columnname……,n.* columnname…..
- from left_table m [inner] join right_table n on m. columnname_join=n. columnname_join
- where m.columnname=xxx….. and n.columnname=xxx….
或者
- select m.columnname……,n.* columnname…..
- from left_table m , right_table n
- where m. columnname_join=n. columnname_join and
- m.columnname=xxx….. and n.columnname=xxx….
ON是连接前提,不再颖裳栉接或右连接的功能一样,除了作为2表记录匹配的前提外,还会起到过滤记录的感化,若left_table中记录无法在right_table中找到对应的记录,则会被过滤掉落;
WHERE字句,不管是涉及表left_table、表right_table上的限制前提,照样涉及2表连接的前提,都邑对记录集起到过滤感化,把不相符请求的记录刷选掉落;
在数据库中查找是否有同时知足多个前提的数据:table.find_one(属性1=属性值1, 属性2=属性值2, …)
jinja2获取轮回索引
jinja2获取轮回{% for i in n %}的索引应用loop.index
SELECT cno,count(sno) from sc group by cno