Translation:Can you teach me to play mahjong?
Both 能 and 可以 are acceptable here, as they are referring to the possibility of something. 会 means "will", so it is not related here. 你会教我打麻将吗？ = Will you teach me to play Mahjong?
Copy and pasted- I find this very helpful in differentiating among them!
可以 means I can do it, but may I? For example :
我 可以 开车吗？
May I drive? (Have the implication of I want to drive)
我 可以 开车。
I can drive (have the implication of I can, but I don't want to (unwilling to do so)) <sub>~</sub>~~ 会 means I am able to, or I know how to do it For example :
你 会 开车吗？
Can you drive? (Are you able to drive? Do you know how to drive? Or even Do you have a drivers license?)
我 会 开车。
I can drive (I know how to drive) <sub>~</sub>~~ 能 is similar to can, in most cases they are interchangeable. It means capable of doing something or Would you...? For example :
你 能 开车吗？
Would you drive? (Would you mind driving?)
C&P from my previous comment:
The three are rather similar and can sometimes be used interchangeably, other times only having one (or two) correct and/or idiomatic "answer". （There's a Venn diagram here explaining this: https://resources.allsetlearning.com/chinese/grammar/Comparing_%22hui%22_%22neng%22_%22keyi%22） It's difficult to explain due to the many situations in which they can be used. For this sentence:
可以 - can
会 - will (in the sense of future action)
能 - able to
Further resource: http://www.speakmandarin.com/grammar_r773.html where there is a nifty table. （There‘s even an exercise below, and my not-guaranteed-correct answer would be 1A(only acceptable answer=^) 2A>B(since both are acceptable, but A is the better answer, and for the rest only the best answer is stated) 3C 4B 5A^ 6A^ 7A^）