where("id not in (?) AND id != ?", current_user.friend_ids, current_user)

と書かれたコードがありまして、コードの記述の意味がわかりません。
このコードはツイッターのようなサイトの”友達を探す”ページのコントローラーの一部です。
まず、"id not in (?) AND id != ?"の部分の意味がわかりません。なぜANDを使っているのか 、(?) はどのような意味なのかid != ?がどんなことを意味しているのかさっぱりわかりません。どなたかこのコードの記述の仕方とその意味を教えてください。

ちなみにコントローラーのコードの全体は
find_friends_controller.rb

class FindFriendsController < ApplicationController

  before_action :authenticate_user!

  def index
    @users = User.where("id not in (?) AND id != ?", current_user.friend_ids, current_user).paginate(page: params[:page])
    respond_to do |format|
      format.js
      format.html
    end
  end
end

のようになっています。

どうしてあんな複雑で難解なコードで友達が探せるのか疑問です。。。