Я долгое время работал над построеннием Хранилища Данных в СУБД Терадата, поэтому привык к хорошему ;-)
А вот по ссылке ниже Boris Knizhnik потрудился и свел, хоть и не до конца, различия между языками SQL запросов в Терадате и Оракле. Очень занимательная заметка.
Содержание:
Abstract
Introduction
Versions
Books
Certification
SQL
- Use of column aliases
- Use of table aliases
- Select from a dummy table
- Select from inner select
- WITH clause
- Recursive SQL
- Analytical Functions
- Qualify
- Select First N rows
- Null Strings
- SELECT and CONSUME
- CASE
Functions
Inner, outer joins, + where conditions
Stored procedures
UDF
UDT
Table Functions
Join Indexes
Set tables
Выделил полужирным мои любимые аспекты SQL Teradata.
Мдя, дядя там малость напутал, а где-то малость недорассказал:
ОтветитьУдалить>Oracle is on version 11i right now
Нет такой версии у Оракла
>however, mixing aliases and real table names causes a cartesian product
Это потому, что в терадате необязательно писать from в запросах, можно просто написать select tab.*
эквивалентно select * from tab, отсюда и кросс-джойн
>So, how do you create a dummy result set in Teradata without having a table to select from?
with dual(dummy) as (select 'x' dummy)
select 1 as a from t union all select 2 from t
Главное, что вот то ощущение, которое разделяю не только я, но и многие мои коллеги работающие с Терадатой, ощущение того, что некоторые запросы удобнее делать именно в указанной СУБД, получило пусть местами и не очень полное, описание.
ОтветитьУдалить