Rohan
Rohan

Reputation: 101

Exclude Statement in SQL

How to exclude data from an SQL database using an SQL statement? My situation is I have a user login to their profile page where they will be able to friend people. I want to display all users except themselves that are found in the SQL database.

Upvotes: 8

Views: 140591

Answers (5)

alk
alk

Reputation: 70883

Yes I know Im late with this one.

Anyhow as I stumpled over those comments here while looking for an answer to a question similare to the one ask here ("how to exlcude data from a query") I was a bit confused.

Confused because I knew the answer I was looking for was not only more simple, but even more elegant then the ones proposed here. I once knew the answer, but forgot it. I came here because I was too lazy to remember...

So I struggled hard to remember the easy solution and then it came back to my mind.

So assume you have the two tables "Email" and "UnwantedEmail" with both carring the one column "Address". The query to only get the wanted email addresses, those addresses which are in "Email" but not in "UnwantedEmail" could look like the following:

SELECT Email.Address FROM UnwantedEmail
RIGHT JOIN Email ON UnwantedEmail.Address=Email.Address
WHERE UnwantedEmail.Address Is Null;

Upvotes: 4

Saar
Saar

Reputation: 8474

select * from Foo where UserName not in ('Rohan', 'Rohan's friend', .....)

Is this useful?

Upvotes: 2

jay
jay

Reputation: 10325

If you know what that user's unique ID is you could use something like this for example:

SELECT * FROM usertable WHERE id!='myuserid'

What I do with one of my authentication scripts is store the information for the person that is currently logged in in a variable so it would look like this in PHP:

SELECT * FROM usertable WHERE id!='check(id)'

Upvotes: 0

Russ Cam
Russ Cam

Reputation: 125488

Maybe just

SELECT *
FROM 
    Users
WHERE
    UserId <> @ThisUserId

Or using a Difference Union (The EXCEPT keyword in SQL Server, not sure about other RDBMS implementations)

SELECT *
FROM 
    Users

EXCEPT

SELECT *
FROM 
    Users
WHERE
    UserId = @ThisUserId

Upvotes: 11

AJ.
AJ.

Reputation: 28174

How about:

SELECT * FROM people WHERE person_id != $current_user_id

Upvotes: 5

Related Questions