1) В каком виде выводится значения поля связанного с датой - в днях 2) Чем отличаются Substr(имя,0,1), Substr(имя,1,1), Substr(имя,-1,2). Здесь описана эта функция substr http://www.techonthenet.com/oracle/functions/substr.php 3) написать запрос который выведет ваше полное количество лет. что то такое: select floor(months_between(sysdate,дата_рождения)/12) from н_люди where фамилия = 'Войтешук' and имя= 'Евгений'; 4) Переписать запрос заменяя OR на IN изначально: SELECT ИД, КОРОТКОЕ_ИМЯ, ИМЯ_В_ИМИН_ПАДЕЖЕ FROM Н_ОТДЕЛЫ WHERE ИД = 102 OR ИД = 111 OR ИД = 212; после переделывания: SELECT КОРОТКОЕ_ИМЯ, ИМЯ_В_ИМИН_ПАДЕЖЕ FROM Н_ОТДЕЛЫ WHERE ИД IN (102, 111, 212); 5) Первый вопрос был по работе с датами. У меня: написать запрос, который выведет всех умерших за последние 18 месяцев. что то такое: select фамилия, имя, отчество, дата_смерти from н_люди where months_between(sysdate,дата_смерти) <= 18 and дата_смерти <= sysdate; У Сергея: написать запрос, который выведет полный возраст всех людей. что тотакое: select фамилия, имя, отчество, floor(months_between(sysdate,дата_рождения)/12) возраст from н_люди where дата_смерти > sysdate and дата_рождения > to_date('1/1/1900','DD/MM/YYYY'); 7) Второй вопрос был по тому, что count для групп только может быть, что запрос select count(*), фамилия, например, не валиден, как и select distinct(имя), фамилия. Меня ещё спросил, как запрос select count(*), фамилия from н_люди; переделать так, чтобы заработал. например так select count(*), фамилия from н_люди group by фамилия; или так select фамилия, count(фамилия) from н_люди group by фамилия order by фамилия; select имя, фамилия, отчестwво where substr(ИМЯ, 1, 1) = субстр(фа,0милия, 1, 1) АНД select имя from н_люди where upper substr(имя,1,4) = upper 'алек';