Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос Oracle SQL / Subquery topic / 18 сообщений из 18, страница 1 из 1
11.04.2020, 14:20
    #39946154
endy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
В просторах интернета нашел такой тестовый вопрос. Хотелось бы узнать ваше мнение, так как я не совсем уверен что это верно.

Вопрос такой:
Найдите правильное высказывание о subqery:

Верный ответ:
When a sub query is used with an inequality comparison operator in the outer SQL statement, the column list in the SELECT clause of the sub query should contain only one column.

По моему мнению ответ не верный, так как я протестировал в SQL developer и не нашел подтверждения тому что сказано в дампах.

Вот пример теста:

select first_name, salary from employees where (salary, last_name) != (select salary, last_name from employees where salary =24000);

Этот запрос выдаёт две колонки. Возможно я не понял сам ответ, но насколько я понял там говорится что если в запросе где используется subquery и в outer query есть сравнение с использованием оператора НЕравенства, то в select листе в subquery необходимо указать только один столбец. Но как видно в моем запросе я использовал два столбца и в outer query и в sub query.

Ребята вы опытнее меня в этих вопросах, я только учусь. Прошу помогите) спасибо.
...
Рейтинг: 0 / 0
11.04.2020, 15:28
    #39946163
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Неравенство - это "<", ">","<=", ">="
...
Рейтинг: 0 / 0
11.04.2020, 18:51
    #39946211
endy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
andrey_anonymous,

Спасибо огромное за помощь) вы мне очень помогли
...
Рейтинг: 0 / 0
11.04.2020, 19:50
    #39946218
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
andrey_anonymous
Неравенство - это "<", ">","<=", ">="
Нет. inequality в современных версиях это:
!=
^=
<>
...
Рейтинг: 0 / 0
11.04.2020, 20:00
    #39946220
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
-2-
andrey_anonymous
Неравенство - это "<", ">","<=", ">="
Нет. inequality в современных версиях это:
!=
^=
<>

Вас не затруднит привести пруфлинк?
...
Рейтинг: 0 / 0
11.04.2020, 20:06
    #39946225
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
endy,

Тест был по какой-то конкретной реализации SQL или конкретной версии SQL-стандарта, или просто абстракция?
Раньше действительно подзапрос для сравнения обязан был возвращать единственную строку с единственным полем.
...
Рейтинг: 0 / 0
12.04.2020, 17:16
    #39946370
endy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Правильный Вася,

Здравствуйте. Нет в тесте не было указана версия SQL-стандарта.

Просто был поставлен вопрос где использовался термин inequality. Как по мне, то !=, <>, ^= тоже должны считаться неравенством, но в тесте почему то ответ был совсем не таким. Теперь не знаю на что ориентироваться в данный момент. На данный момент как должен выглядеть ответ такого вопроса?
...
Рейтинг: 0 / 0
13.04.2020, 11:27
    #39946546
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
endy
На данный момент как должен выглядеть ответ такого вопроса?

другие варианты какие?

....
stax
...
Рейтинг: 0 / 0
13.04.2020, 12:13
    #39946562
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
...
Рейтинг: 0 / 0
13.04.2020, 12:19
    #39946568
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
https://docs.oracle.com/database/121/SQLRF/conditions002.htm#SQLRF52105
Из-за нестрогости термина, они сами иногда путаются:
автор!=

^=

<>

logical_negation_symbol= (Note 1)

Inequality test. Some forms of the inequality condition may be unavailable on some platforms.
...
Рейтинг: 0 / 0
13.04.2020, 14:13
    #39946617
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Имхо - нестрогости определения нету:
Inequality - неравенство :^=, ^=, <>
Non equality : не равенство : <, > , <=, >= etc.

Regards

Maxim
...
Рейтинг: 0 / 0
13.04.2020, 14:37
    #39946633
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Maxim Demenko,

Верный ответ:
да/нет?

....
stax
...
Рейтинг: 0 / 0
15.04.2020, 20:00
    #39947741
endy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Stax,

Вот вопрос:

Which two statements about sub queries are true?

A. A sub query should retrieve only one row.
B. A sub query can retrieve zero or more rows.
C. A sub query can be used only in SQL query statements.
D. Sub queries CANNOT be nested by more than two levels.
E. A sub query CANNOT be used in an SQL query statement that uses group functions.
F. When a sub query is used with an inequality comparison operator in the outer SQL statement, the column list in the SELECT clause of the sub query should contain only one column.

Correct Answer: BF
...
Рейтинг: 0 / 0
15.04.2020, 22:33
    #39947783
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
По контексту (определяемому "ответом"), здесь подразумевается именно неравенства (<,<=,>,>=),
а не отрицание равенства или non-equality (!=, ...)
Впрочем, подобный вопрос и на русском был бы примерно в той же степени confusing
по той же самой причине - многозначное использование слов в несовпадающих контекстах.

Таких вопросов, и много хуже таких, есть во всяких разных текстах.
По хорошему, частей тела, использованных для записи этих "вопросов" надо лишать их составителей.
Но, - кому нужны те тесты, а уж их составители - и тем более.
...
Рейтинг: 0 / 0
15.04.2020, 22:51
    #39947788
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Comparison-Conditions.html#GUID-828576BF-E606-4EA6-B94B-BFF48B67F927 Table 6-2 Comparison Conditions
Type of Condition Purpose Example= Equality test. SELECT * FROM employees WHERE salary = 2500 ORDER BY employee_id;!= ^= <> Inequality test. SELECT * FROM employees WHERE salary != 2500 ORDER BY employee_id;. . . ... ...
...
Рейтинг: 0 / 0
15.04.2020, 23:26
    #39947794
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
endy
Вот пример теста:
Код: plsql
1.
2.
3.
select first_name, salary from employees 
where (salary, last_name) 
   != (select salary, last_name from employees where salary =24000);


С такой огромной зарплатищей там только один президент Steven King .

Выполните вот такой запрос (с уменьшенной в 10 раз зарплатой)
Код: plsql
1.
2.
3.
4.
select first_name, salary from employees 
where (salary, last_name) 
   != (select salary, last_name from employees 
         where salary =2400);


Таких работничков там двое: Ki Gee и James Landry

Как запрос?
  • Выполнился? Что вернул?
  • Свалился с ошибкой? С какой?
...
Рейтинг: 0 / 0
15.04.2020, 23:29
    #39947796
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
Возможно автор вопроса не читал оракловую документацию, поэтому не знаком с оракловой терминологией. А автор оракловой документации не проходил математику в школе, поэтому сконфузил математическую терминологию.
...
Рейтинг: 0 / 0
16.04.2020, 01:33
    #39947831
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос Oracle SQL / Subquery topic
SQL*Plus
...
Как запрос?
  • Выполнился? Что вернул?
  • Свалился с ошибкой? С какой?
Я не понял, что конкретно вы имели в виду.
Если, например, то, что ваш намек, с вашей точки зрения, как-то объясняет "правильность" ответа на "вопрос", то
я бы считал замечание такого рода некорректным.
Оно не в ту тему.

если уж в терминах ошибок рассуждать, то вопрос был про ORA-01796
Вы такую ошибку у себя получили?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос Oracle SQL / Subquery topic / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]