2011-12-23 3 views
9

У меня есть таблица под названием «Студент».SQL Выберите несколько строк, используя в одной таблице

Student 
    id | name | age 
    1 | john | 10 
    2 | jack | 10 
    3 | jerry| 10 

Я хочу выбрать 1 и 2 ряда. Я написал, что Select * from Student where name=john and name=jack Но верните «Пустой набор». Как это сделать. Помоги мне.

+0

Благодарим за всех. Но я хочу выбрать 2 строки, с которыми имя равно «john» и «jack». – Munkhjin

+0

Ответ каждого человека. Ты это пробовал? Я попытался объяснить это в своем ответе, если вы прокомментируете то, что не понимаете, я могу попытаться объяснить дальше. Но я настоятельно рекомендую вам попробовать и посмотреть. – MatBailie

+0

Спасибо. Я понимаю. – Munkhjin

ответ

15
select * 
from student 
where name in ('john', 'jack') 

Или

select * 
from student 
where name = 'john' 
or name = 'jack' 
+0

+1: Для проворных пальцев и обоих ответов я написал! – MatBailie

+0

Спасибо. Я это понимаю. Но я хочу выбрать 1 и 2 строки. это невозможно? – Munkhjin

+0

@Dems Ха-ха Сегодня я наслаждаюсь нашими виртуальными столкновениями. –

0

Используйте одинарные кавычки, чтобы окружить свои ценности, а также использование и вместо или:

where name='john' or name = 'jack' 
2

Вам нужен OR, а не AND.

Независимо от условий, в которых вы пишете, он проверяет их все против каждой записи. Поскольку ни одна запись не имеет и name = 'john' И name = 'jack', все они терпят неудачу.


Если, вместо этого, вы используете OR ...
- 1-ые записи дает TRUE OR FALSE что является TRUE.
- Вторая запись дает FALSE OR TRUE которая ИСТИНА.
- Третья запись дает FALSE OR FALSE, которая является ЛОЖНЫМ.


Select * from Student where name='john' OR name='jack' 


Или, используя различный способ сказать все это ...

SELECT * FROM Student WHERE name IN ('john', 'jack') 
-1

попробовать это.

declare @names varchar(100) 
    set @names='john,jack' 
    Select * from Student 
where charIndex(',' + rtrim(cast(name as nvarchar(max))) + ',',',' +isnull(@names,name) +',') >0 
Смежные вопросы