2010-08-30 2 views
0

am новичок в Oracle/PL SQL.Ive 2 таблицы A и B. A имеет столбец CustId, возраст, местоположение и дату. Таблица B содержит 2 столбца CustId, CustName.нужна помощь по sql-запросу

Каким будет запрос sql, чтобы показать CustName и местоположение для данного возраста?

Спасибо.

ответ

3

Ваш вопрос «Что будет с SQL-запросом, чтобы показать CustName и местоположение для данного возраста?» помогает определить ваш запрос довольно хорошо:

SELECT CustName, Location 
FROM TableA a 
INNER JOIN TableB b 
ON b.CustId = a.CustId 

WHERE a.Age = # 

Все, что нам нужно сделать на вершине, что выбрать для конкретных полей убедитесь, что для соединения двух таблиц на их общей колонке (CustID).

Другим вариантом было бы избежать WHERE заявление:

SELECT CustName, Location 
FROM TableB b 
INNER JOIN TableA a 
ON a.CustID = b.CustID 
AND a.Age = # 
+1

Из соображений производительности, это вообще желательно не ставить условие фильтрации (a.Age = #) в условие соединения, так как во втором варианте , Необходимо обработать больше строк в A во время соединения. – orbfish

+0

@orbfish - хорошо знать, спасибо за подсказку! – Brett

0

join. что-то наподобие

SELECT custname, location FROM a JOIN b ON a.custid = b.custid WHERE age = [age]; 
Смежные вопросы