표시

2014-04-24 2 views
0

아래의 예를 고려 SQL DB에서 데이터, 데이터베이스표시

3 표 '이름, 성, 연령별' 나는 모든 첫 번째 이름과 마지막 이름을 가지고 있고, 나는를 작성해야 쿼리를 사용하여 내가 제공 한 데이터와 관련된 AGE를 표시합니다. 예를 들어

:

First_Name | Last_Name | Age 
----------------------------- 
Mark  | Thomas | 23 
Vince  | Erickson | 29 
Peter  | Charlton | 36 

나는 처음과 마지막 이름을 제공 할 수있는 쿼리를해야하고, 그들의 연령을 포함하여 제공하는 데이터의 결과를 표시합니다.

뭔가 같은

SELECT Age 
FROM Users_DB 
WHERE First_Name = (Mark, Vince, Peter) 
AND Last_Name = (Thomas, Eickson, Charlton) 

나는 200 명의 사용자 (이름 및 성)의 목록을 가지고, 나는 5000 이상의 사용자를 포함하는 데이터베이스에서 자신의 나이를 잡기 위해 필요하기 때문에

. 나는 그 200 명의 사용자의 나이를 표시하기 만하면됩니다.

SELECT Age 
FROM Users_DB 
WHERE First_Name IN ('Mark', 'Vince', 'Peter') 
    AND Last_Name IN ('Thomas', 'Erickson', 'Charlton'); 

그러나 그것은 또한 마크 토마스 또는 명명 된 사람을 선택하기 때문에 나는 그것이 당신이 정말로 원하는 무엇을 믿지 않는다 : 사전에

감사

+1

, 당신은에 "표"는 "데이터베이스"의 차이를 배워서 시작해야, 및 "열". 하나의 데이터베이스에 세 개의 컬럼이있는 하나의 테이블이있는 것처럼 보입니다. –

답변

0

쿼리의 정확한 구문은 Mark Erickson 또는 Mark Charlton.

그래서, 나는 당신이 여기서 뭘 원하는 것은 생각 : 관계형 데이터베이스를 사용하려는 경우

SELECT * 
FROM Users_DB 
WHERE (First_Name = 'Mark' AND Last_Name = 'Thomas') 
    OR (First_Name = 'Vince' AND Last_Name = 'Erickson') 
    OR (First_Name = 'Peter' AND Last_Name = 'Charlton'); 
+0

두 번째 구문은 내가 원하는 것과 상당히 비슷합니다. 메서드를 더 쉽게 만들 수있는 방법이 있나요 (First_Name = ""AND Last_Name = ""), 왜냐하면 200 개 이상의 레코드가 있기 때문입니다. 또한, 이것을 실행한다면 위의 DB 예제와 비슷한 결과를 얻을 수 있습니까? 마찬가지로 연령은 내가 제공 한 이름과성에 연결됩니다. – Khaled

+0

글쎄, DB 테이블에있는 모든 사람의 나이를보고 싶다면 WHERE 문을 사용할 필요조차 없습니다. SELECT * FROM Users_DB; 트릭을해야합니다. 특정 사용자 만 얻으려면 불행히도 모든 사용자에 대해 (First_Name = ''AND Last_Name = '') WHERE 문을 사용해야합니다. 마지막으로 데이터베이스에 기록 된대로 결과가 표시됩니다. 나이가 올바른 사람과 연결됩니다. 즉 데이터베이스에 관한 것입니다. – PiTiNiNjA

+0

내 현재 상황을 설명하기 위해 원래 메시지를 업데이트했습니다. 아마도 내가 원하는 걸 이해하는 데 도움이 될 것입니다. 미리 감사드립니다 – Khaled