join的用法

函数:string.join()

Python中有join()和os.path.join()两个函数,具体作用如下:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回

一、函数说明
1、join()函数

语法: ‘sep’.join(seq)

参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2、os.path.join()函数

语法: os.path.join(path1[,path2[,…]])

返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略

#对序列进行操作(分别使用' '与':'作为分隔符)
 
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
 
 
#对字符串进行操作
 
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
 
 
#对元组进行操作
 
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
 
 
#对字典进行操作
 
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
 
 
#合并目录
 
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'
在 SQL 中,`JOIN` 用于根据两个或多个表中的列之间的关系,从这些表中获取数据。以下是几种常见的 `JOIN` 类型及其用法: ### INNER JOIN `INNER JOIN` 是最常用的连接类型,它返回两个表中匹配的行。只有当两个表中的连接列的值相等时,才会返回这些行。示例如下: ```sql SELECT * FROM A INNER JOIN B ON B.id = A.id; ``` 这个查询会返回 `A` 表和 `B` 表中 `id` 列值相等的所有行 [^1]。 ### LEFT JOIN(LEFT OUTER JOIN) `LEFT JOIN` 返回左表(`FROM` 子句中指定的第一个表)中的所有行,以及右表中匹配的行。如果右表中没有匹配的行,则结果集中右表的列将为 `NULL`。例如: ```sql SELECT * FROM A LEFT JOIN B ON B.id = A.id; ``` 这个查询会返回 `A` 表的所有行,即使 `B` 表中没有匹配的行 [^1]。 ### RIGHT JOIN(RIGHT OUTER JOIN) `RIGHT JOIN` 与 `LEFT JOIN` 相反,它返回右表中的所有行,以及左表中匹配的行。如果左表中没有匹配的行,则结果集中左表的列将为 `NULL`。例如: ```sql SELECT * FROM A RIGHT OUTER JOIN B ON B.id = A.id; ``` 这个查询会返回 `B` 表的所有行,即使 `A` 表中没有匹配的行 [^4]。 ### FULL JOIN(FULL OUTER JOIN) `FULL JOIN` 返回左表和右表中的所有行。如果某一行在一个表中存在,但在另一个表中不存在,则另一个表中的列将为 `NULL`。不过,MySQL 不支持 `FULL JOIN`,在 MySQL 中使用会运行报错。在 Hive 中可以直接使用 `FULL JOIN`,但在同一层级的查询中不可连续多次使用,若需要多次使用建议在不同层级中使用,例如: ```sql -- MySQL 不支持 -- select * from table_a a full join table_b b on a.aId = b.bId; -- Hive 示例 SELECT * FROM t1 FULL JOIN t2 ON t1.user_id = t2.user_id; ``` [^2][^3] ### CROSS JOIN `CROSS JOIN` 返回两个表的笛卡尔积,即左表中的每一行与右表中的每一行都组合在一起。例如: ```sql SELECT * FROM A CROSS JOIN B; ``` 这个查询会返回 `A` 表和 `B` 表中所有行的组合。 ### 自连接 自连接是指将一个表与自身进行连接。通常用于处理表中存在层次关系的数据。例如: ```sql SELECT e1.name, e2.name AS manager_name FROM employees e1 JOIN employees e2 ON e1.manager_id = e2.id; ``` 这个查询将 `employees` 表与自身连接,用于查找每个员工的经理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值