MySQL How to choose friends from a friendship table?

Hi I have a simple friendship storage database, just two columns person_a, person_b, meaning that person_a and person_b are friends. From a large list like this, which query should I run to get an answer, get all the friends "sam". Thank.

+3
source share
3 answers

Use UNION:

SELECT person_b
FROM friendship
WHERE person_a = 'sam'
UNION
SELECT person_a
FROM friendship
WHERE person_b = 'sam'
+3
source

You can also try,

SELECT person_a, person_b
FROM friendship
WHERE person_a = 'sam' or person_b = 'sam'

Use the query like this, after that 

if(person_a=='sam') {
   $frnd = $rowfetch["person_b"];
} else if(person_b=='sam') {
   $frnd = $rowfetch["person_a"];
}
+1
source

, -

SELECT  *
FROM    users u INNER JOIN
        (
            SELECT  CASE
                        WHEN person_a = yourid THEN
                            person_b
                        ELSE person_a
                    END person_id
            FROM    FRIENDSHIPS
            WHERE   person_a = yourid
            OR      person_b = yourid
        ) myFriends ON u.userID = myFriends.person_id
0

Source: https://habr.com/ru/post/1742061/