Assuming that you want to use a subquery to limit the resultset of an outer query you can do that using IN or EXISTS
SELECT value1
FROM table1
WHERE value1 NOT IN
(
SELECT value1
FROM table2
WHERE value1 IS NOT NULL ...
)
Be careful with NOT IN if subquery returns NULLs you won't get an expected result (an empty resultset). Either make sure that a subquery doesn't return NULLs (with appropriate WHERE clause or substitute NULLS with some value using COALESCE or IFNULL) or use NOT EXISTS
SELECT value1
FROM table1 t
WHERE NOT EXISTS
(
SELECT 1
FROM table2
WHERE value1 = t.value1 ...
)
Here is SQLFiddle demo. Note that the first query in the demo doesn't return any rows.
On the other hand if you just need your subquery to return the only value
1) Use LIMIT 1 as already suggested
2) or an appropriate aggregate function (MIN(), MAX(), AVG() etc)
SELECT value1
FROM table1
WHERE value1 <>
(
SELECT MAX(value1)
FROM table2
WHERE ...
)