mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 09:02:00 +00:00
181 lines
59 KiB
Markdown
181 lines
59 KiB
Markdown
|
---
|
|||
|
machine_translated: true
|
|||
|
machine_translated_rev: ad252bbb4f7e2899c448eb42ecc39ff195c8faa1
|
|||
|
toc_priority: 40
|
|||
|
toc_title: "ANSI uyumlulu\u011Fu"
|
|||
|
---
|
|||
|
|
|||
|
# ClickHouse SQL Lehçesinin ANSI SQL uyumluluğu {#ansi-sql-compatibility-of-clickhouse-sql-dialect}
|
|||
|
|
|||
|
!!! note "Not"
|
|||
|
Bu makale Tablo 38, “Feature taxonomy and definition for mandatory features”, Annex F of ISO/IEC CD 9075-2:2013.
|
|||
|
|
|||
|
## Davranış farklılıkları {#differences-in-behaviour}
|
|||
|
|
|||
|
Aşağıdaki tabloda, sorgu özelliği ClickHouse çalışır, ancak ANSI SQL'DE belirtildiği gibi davranır durumlarda listeler.
|
|||
|
|
|||
|
| Feature ID | Özellik Adı | Fark |
|
|||
|
|------------|---------------------------------------|----------------------------------------------------------------------------------------------------|
|
|||
|
| E011 | Sayısal veri türleri | Dönem ile sayısal literal yaklaşık olarak yorumlanır (`Float64`) tam yerine (`Decimal`) |
|
|||
|
| E051-05 | Seçme öğeler yeniden adlandırılabilir | Öğe yeniden adlandırmaları, yalnızca seçme sonucundan daha geniş bir görünürlük kapsamına sahiptir |
|
|||
|
| E141-01 | NOT NULL kısıtlamaları | `NOT NULL` tablo sütunları için varsayılan olarak ima edilir |
|
|||
|
| E011-04 | Aritmetik operat operatorsörler | ClickHouse işaretli aritmetik yerine taşar ve sonuç veri türünü özel kurallara göre değiştirir |
|
|||
|
|
|||
|
## Özellik Durumu {#feature-status}
|
|||
|
|
|||
|
| Feature ID | Özellik Adı | Durum | Yorum |
|
|||
|
|------------|-----------------------------------------------------------------------------------------------------------------------------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|||
|
| **E011** | **Sayısal veri türleri** | **Kısmi**{.text-warning} | |
|
|||
|
| E011-01 | Tamsayı ve SMALLİNT veri türleri | Evet{.text-success} | |
|
|||
|
| E011-02 | Gerçek, çift hassas ve FLOAT veri türleri veri türleri | Kısmi{.text-warning} | `FLOAT(<binary_precision>)`, `REAL` ve `DOUBLE PRECISION` desteklenmiyor |
|
|||
|
| E011-03 | Ondalık ve sayısal veri türleri | Kısmi{.text-warning} | Sadece `DECIMAL(p,s)` desteklenir, değil `NUMERIC` |
|
|||
|
| E011-04 | Aritmetik operat operatorsörler | Evet{.text-success} | |
|
|||
|
| E011-05 | Sayısal karşılaştırma | Evet{.text-success} | |
|
|||
|
| E011-06 | Sayısal veri türleri arasında örtülü döküm | Hayır{.text-danger} | ANSI SQL, sayısal türler arasında rasgele örtülü döküm yapılmasına izin verirken, ClickHouse, örtülü döküm yerine birden fazla aşırı yüke sahip işlevlere dayanır |
|
|||
|
| **E021** | **Karakter dizesi türleri** | **Kısmi**{.text-warning} | |
|
|||
|
| E021-01 | Karakter veri türü | Hayır{.text-danger} | |
|
|||
|
| E021-02 | Karakter değişken veri türü | Hayır{.text-danger} | `String` benzer şekilde davranır, ancak parantez içinde uzunluk sınırı olmadan |
|
|||
|
| E021-03 | Karakter değişmezleri | Kısmi{.text-warning} | Ardışık değişmezlerin ve karakter seti desteğinin otomatik olarak birleştirilmesi yok |
|
|||
|
| E021-04 | CHARACTER\_LENGTH işlevi | Kısmi{.text-warning} | Hayır `USING` yan |
|
|||
|
| E021-05 | OCTET\_LENGTH işlevi | Hayır{.text-danger} | `LENGTH` benzer şekilde davranır |
|
|||
|
| E021-06 | SUBSTRING | Kısmi{.text-warning} | İçin destek yok `SIMILAR` ve `ESCAPE` CLA ,us ,es, no `SUBSTRING_REGEX` varyant |
|
|||
|
| E021-07 | Karakter birleştirme | Kısmi{.text-warning} | Hayır `COLLATE` yan |
|
|||
|
| E021-08 | Üst ve alt fonksiyonlar | Evet{.text-success} | |
|
|||
|
| E021-09 | TRİM fonksiyonu | Evet{.text-success} | |
|
|||
|
| E021-10 | Sabit uzunlukta ve değişken uzunlukta karakter dizesi türleri arasında örtülü döküm | Hayır{.text-danger} | ANSI SQL, dize türleri arasında rasgele örtük döküm yapılmasına izin verirken, ClickHouse, örtük döküm yerine birden fazla aşırı yüke sahip işlevlere dayanır |
|
|||
|
| E021-11 | Pozisyon fonksiyonu | Kısmi{.text-warning} | İçin destek yok `IN` ve `USING` CLA ,us ,es, no `POSITION_REGEX` varyant |
|
|||
|
| E021-12 | Karakter karşılaştırma | Evet{.text-success} | |
|
|||
|
| **E031** | **Tanıtıcılar** | **Kısmi**{.text-warning} | |
|
|||
|
| E031-01 | Ayrılmış tanımlayıcılar | Kısmi{.text-warning} | Unicode literal desteği sınırlıdır |
|
|||
|
| E031-02 | Küçük harf tanımlayıcıları | Evet{.text-success} | |
|
|||
|
| E031-03 | Sondaki alt çizgi | Evet{.text-success} | |
|
|||
|
| **E051** | **Temel sorgu belirtimi** | **Kısmi**{.text-warning} | |
|
|||
|
| E051-01 | SELECT DISTINCT | Evet{.text-success} | |
|
|||
|
| E051-02 | GROUP BY fık clausera | Evet{.text-success} | |
|
|||
|
| E051-04 | GROUP BY içinde olmayan sütunlar içerebilir `<select list>` | Evet{.text-success} | |
|
|||
|
| E051-05 | Seçme öğeler yeniden adlandırılabilir | Evet{.text-success} | |
|
|||
|
| E051-06 | Fık HAVİNGRA olması | Evet{.text-success} | |
|
|||
|
| E051-07 | Nitelikli \* seçme listesinde | Evet{.text-success} | |
|
|||
|
| E051-08 | From madd theesindeki korelasyon adı | Evet{.text-success} | |
|
|||
|
| E051-09 | FROM yan tümcesinde sütunları Yeniden Adlandır | Hayır{.text-danger} | |
|
|||
|
| **E061** | **Temel yüklemler ve arama koşulları** | **Kısmi**{.text-warning} | |
|
|||
|
| E061-01 | Karşılaştırma yüklemi | Evet{.text-success} | |
|
|||
|
| E061-02 | Yüklem arasında | Kısmi{.text-warning} | Hayır `SYMMETRIC` ve `ASYMMETRIC` yan |
|
|||
|
| E061-03 | Değerler listesi ile yüklemde | Evet{.text-success} | |
|
|||
|
| E061-04 | Yüklem gibi | Evet{.text-success} | |
|
|||
|
| E061-05 | Yüklem gibi: kaçış maddesi | Hayır{.text-danger} | |
|
|||
|
| E061-06 | Boş yüklem | Evet{.text-success} | |
|
|||
|
| E061-07 | Sayısal karşılaştırma yüklemi | Hayır{.text-danger} | |
|
|||
|
| E061-08 | Var yüklemi | Hayır{.text-danger} | |
|
|||
|
| E061-09 | Karşılaştırma yükleminde alt sorgular | Evet{.text-success} | |
|
|||
|
| E061-11 | Yüklemde alt sorgular | Evet{.text-success} | |
|
|||
|
| E061-12 | Sayısal karşılaştırma yükleminde alt sorgular | Hayır{.text-danger} | |
|
|||
|
| E061-13 | İlişkili alt sorgular | Hayır{.text-danger} | |
|
|||
|
| E061-14 | Arama koşulu | Evet{.text-success} | |
|
|||
|
| **E071** | **Temel sorgu ifadeleri** | **Kısmi**{.text-warning} | |
|
|||
|
| E071-01 | Sendika farklı tablo operatörü | Hayır{.text-danger} | |
|
|||
|
| E071-02 | UNİON ALL table operat operatoror | Evet{.text-success} | |
|
|||
|
| E071-03 | Dist DİSTİNCTİNC tablet table operatörü hariç | Hayır{.text-danger} | |
|
|||
|
| E071-05 | Tablo operatörleri ile birleştirilen sütunların tam olarak aynı veri türüne sahip olması gerekmez | Evet{.text-success} | |
|
|||
|
| E071-06 | Alt sorgularda tablo işleçleri | Evet{.text-success} | |
|
|||
|
| **E081** | **Temel ayrıcalıklar** | **Kısmi**{.text-warning} | Çalışmalar sürüyor |
|
|||
|
| **E091** | **Set fonksiyonları** | **Evet**{.text-success} | |
|
|||
|
| E091-01 | AVG | Evet{.text-success} | |
|
|||
|
| E091-02 | COUNT | Evet{.text-success} | |
|
|||
|
| E091-03 | MAX | Evet{.text-success} | |
|
|||
|
| E091-04 | MIN | Evet{.text-success} | |
|
|||
|
| E091-05 | SUM | Evet{.text-success} | |
|
|||
|
| E091-06 | Tüm niceleyici | Hayır{.text-danger} | |
|
|||
|
| E091-07 | Farklı niceleyici | Kısmi{.text-warning} | Tüm toplama işlevleri desteklenmiyor |
|
|||
|
| **E101** | **Temel veri manipülasyonu** | **Kısmi**{.text-warning} | |
|
|||
|
| E101-01 | INSERT deyimi | Evet{.text-success} | Not: Clickhouse'daki birincil anahtar, `UNIQUE` kısıtlama |
|
|||
|
| E101-03 | Güncelleme deyimi Aran UPDATEDI | Hayır{.text-danger} | Bir `ALTER UPDATE` toplu veri değiştirme bildirimi |
|
|||
|
| E101-04 | Aranan DELETE deyimi | Hayır{.text-danger} | Bir `ALTER DELETE` toplu veri kaldırma bildirimi |
|
|||
|
| **E111** | **Tek sıra SELECT deyimi** | **Hayır**{.text-danger} | |
|
|||
|
| **E121** | **Temel imleç desteği** | **Hayır**{.text-danger} | |
|
|||
|
| E121-01 | DECLARE CURSOR | Hayır{.text-danger} | |
|
|||
|
| E121-02 | Sütunlara göre siparişin seçim listesinde olması gerekmez | Hayır{.text-danger} | |
|
|||
|
| E121-03 | CLA clauseuse by ORDER in Value ifadeleri | Hayır{.text-danger} | |
|
|||
|
| E121-04 | Açık ifade | Hayır{.text-danger} | |
|
|||
|
| E121-06 | Konumlandırılmış güncelleme bildirimi | Hayır{.text-danger} | |
|
|||
|
| E121-07 | Konumlandırılmış silme deyimi | Hayır{.text-danger} | |
|
|||
|
| E121-08 | Kapat deyimi | Hayır{.text-danger} | |
|
|||
|
| E121-10 | FETCH deyimi: örtük sonraki | Hayır{.text-danger} | |
|
|||
|
| E121-17 | Tut imleçler ile | Hayır{.text-danger} | |
|
|||
|
| **E131** | **Boş değer desteği (değerler yerine boş değerler)** | **Kısmi**{.text-warning} | Bazı kısıtlamalar geçerlidir |
|
|||
|
| **E141** | **Temel bütünlük kısıtlamaları** | **Kısmi**{.text-warning} | |
|
|||
|
| E141-01 | NOT NULL kısıtlamaları | Evet{.text-success} | Not: `NOT NULL` tablo sütunları için varsayılan olarak ima edilir |
|
|||
|
| E141-02 | NULL olmayan sütunların benzersiz kısıtlaması | Hayır{.text-danger} | |
|
|||
|
| E141-03 | Birincil anahtar kısıtlamaları | Hayır{.text-danger} | |
|
|||
|
| E141-04 | Hem referans silme eylemi hem de referans güncelleme eylemi için eylem yok varsayılanıyla temel yabancı anahtar kısıtlaması | Hayır{.text-danger} | |
|
|||
|
| E141-06 | Kontrol kısıt CHECKLAMASI | Evet{.text-success} | |
|
|||
|
| E141-07 | Sütun varsayılanları | Evet{.text-success} | |
|
|||
|
| E141-08 | NOT NULL birincil anahtar üzerinde çıkarıldı | Evet{.text-success} | |
|
|||
|
| E141-10 | Yabancı bir anahtardaki isimler herhangi bir sırada belirtilebilir | Hayır{.text-danger} | |
|
|||
|
| **E151** | **İşlem desteği** | **Hayır**{.text-danger} | |
|
|||
|
| E151-01 | Taahhüt deyimi | Hayır{.text-danger} | |
|
|||
|
| E151-02 | ROLBACKL statementback deyimi | Hayır{.text-danger} | |
|
|||
|
| **E152** | **Temel SET işlem deyimi** | **Hayır**{.text-danger} | |
|
|||
|
| E152-01 | Set TRANSACTİON deyimi: izolasyon düzeyi SERİALİZABLE yan tümcesi | Hayır{.text-danger} | |
|
|||
|
| E152-02 | Set TRANSACTİON deyimi: salt okunur ve okuma yazma yan tümceleri | Hayır{.text-danger} | |
|
|||
|
| **E153** | **Alt sorgularla güncellenebilir sorgular** | **Hayır**{.text-danger} | |
|
|||
|
| **E161** | **Lider çift eksi kullanarak SQL yorumlar ** | **Evet**{.text-success} | |
|
|||
|
| **E171** | **SQLSTATE desteği** | **Hayır**{.text-danger} | |
|
|||
|
| **E182** | **Ana bilgisayar dili bağlama** | **Hayır**{.text-danger} | |
|
|||
|
| **F031** | **Temel şema manipülasyonu** | **Kısmi**{.text-warning} | |
|
|||
|
| F031-01 | Kalıcı temel tablolar oluşturmak için tablo deyimi oluşturma | Kısmi{.text-warning} | Hayır `SYSTEM VERSIONING`, `ON COMMIT`, `GLOBAL`, `LOCAL`, `PRESERVE`, `DELETE`, `REF IS`, `WITH OPTIONS`, `UNDER`, `LIKE`, `PERIOD FOR` yan tümceleri ve kullanıcı çözümlenmiş veri türleri için destek yok |
|
|||
|
| F031-02 | Görünüm deyimi oluştur | Kısmi{.text-warning} | Hayır `RECURSIVE`, `CHECK`, `UNDER`, `WITH OPTIONS` yan tümceleri ve kullanıcı çözümlenmiş veri türleri için destek yok |
|
|||
|
| F031-03 | Hibe beyanı | Evet{.text-success} | |
|
|||
|
| F031-04 | ALTER TABLE deyimi: sütun yan tümcesi Ekle | Kısmi{.text-warning} | İçin destek yok `GENERATED` fık andra ve sistem süresi |
|
|||
|
| F031-13 | Dro :p TABLE deyimi: kısıt :lamak | Hayır{.text-danger} | |
|
|||
|
| F031-16 | Dro :p VİEW deyimi: kısıt :lamak | Hayır{.text-danger} | |
|
|||
|
| F031-19 | Rev REVOKEOKE deyimi: kısıt clauselamak | Hayır{.text-danger} | |
|
|||
|
| **F041** | **Temel birleştirilmiş tablo** | **Kısmi**{.text-warning} | |
|
|||
|
| F041-01 | Inner join (ancak mutlaka iç anahtar kelime değil) | Evet{.text-success} | |
|
|||
|
| F041-02 | İç anahtar kelime | Evet{.text-success} | |
|
|||
|
| F041-03 | LEFT OUTER JOIN | Evet{.text-success} | |
|
|||
|
| F041-04 | RIGHT OUTER JOIN | Evet{.text-success} | |
|
|||
|
| F041-05 | Dış birleşimler iç içe geçmiş olabilir | Evet{.text-success} | |
|
|||
|
| F041-07 | Sol veya sağ dış birleşimdeki iç tablo, bir iç birleşimde de kullanılabilir | Evet{.text-success} | |
|
|||
|
| F041-08 | Tüm karşılaştırma operatörleri desteklenir (sadece =yerine) | Hayır{.text-danger} | |
|
|||
|
| **F051** | **Temel tarih ve saat** | **Kısmi**{.text-warning} | |
|
|||
|
| F051-01 | Tarih veri türü (tarih literal desteği dahil) | Kısmi{.text-warning} | Hiçbir edebi |
|
|||
|
| F051-02 | En az 0 kesirli saniye hassasiyetle zaman veri türü (zaman literal desteği dahil) | Hayır{.text-danger} | |
|
|||
|
| F051-03 | Zaman damgası veri türü (zaman damgası literal desteği dahil) en az 0 ve 6 kesirli saniye hassasiyetle | Hayır{.text-danger} | `DateTime64` zaman benzer işlevsellik sağlar |
|
|||
|
| F051-04 | Tarih, Saat ve zaman damgası veri türlerinde karşılaştırma yüklemi | Kısmi{.text-warning} | Yalnızca bir veri türü kullanılabilir |
|
|||
|
| F051-05 | Datetime türleri ve karakter dizesi türleri arasında açık döküm | Evet{.text-success} | |
|
|||
|
| F051-06 | CURRENT\_DATE | Hayır{.text-danger} | `today()` benzer mi |
|
|||
|
| F051-07 | LOCALTIME | Hayır{.text-danger} | `now()` benzer mi |
|
|||
|
| F051-08 | LOCALTIMESTAMP | Hayır{.text-danger} | |
|
|||
|
| **F081** | **Sendika ve görüş EXCEPTLERDE** | **Kısmi**{.text-warning} | |
|
|||
|
| **F131** | **Grup operationslandırılmış işlemler** | **Kısmi**{.text-warning} | |
|
|||
|
| F131-01 | WHERE, GROUP BY ve gruplandırılmış görünümlere sahip sorgularda desteklenen yan tümceleri olması | Evet{.text-success} | |
|
|||
|
| F131-02 | Gruplandırılmış görünümlere sahip sorgularda desteklenen birden çok tablo | Evet{.text-success} | |
|
|||
|
| F131-03 | Gruplandırılmış görünümlere sahip sorgularda desteklenen işlevleri ayarlayın | Evet{.text-success} | |
|
|||
|
| F131-04 | GROUP BY ile alt sorgular ve yan tümceleri ve gruplandırılmış görünümler | Evet{.text-success} | |
|
|||
|
| F131-05 | GROUP BY ile tek satır seçme ve yan tümceleri ve gruplandırılmış görünümleri sahip | Hayır{.text-danger} | |
|
|||
|
| **F181** | **Çoklu modül desteği** | **Hayır**{.text-danger} | |
|
|||
|
| **F201** | **Döküm fonksiyonu** | **Evet**{.text-success} | |
|
|||
|
| **F221** | **Açık varsayılan** | **Hayır**{.text-danger} | |
|
|||
|
| **F261** | **Durum ifadesi** | **Evet**{.text-success} | |
|
|||
|
| F261-01 | Basit durum | Evet{.text-success} | |
|
|||
|
| F261-02 | Aranan dava | Evet{.text-success} | |
|
|||
|
| F261-03 | NULLIF | Evet{.text-success} | |
|
|||
|
| F261-04 | COALESCE | Evet{.text-success} | |
|
|||
|
| **F311** | **Şema tanımı deyimi** | **Kısmi**{.text-warning} | |
|
|||
|
| F311-01 | CREATE SCHEMA | Hayır{.text-danger} | |
|
|||
|
| F311-02 | Kalıcı temel tablolar için tablo oluşturma | Evet{.text-success} | |
|
|||
|
| F311-03 | CREATE VIEW | Evet{.text-success} | |
|
|||
|
| F311-04 | CREATE VIEW: WITH CHECK OPTION | Hayır{.text-danger} | |
|
|||
|
| F311-05 | Hibe beyanı | Evet{.text-success} | |
|
|||
|
| **F471** | **Skaler alt sorgu değerleri** | **Evet**{.text-success} | |
|
|||
|
| **F481** | **Genişletilmiş boş yüklem** | **Evet**{.text-success} | |
|
|||
|
| **F812** | **Temel işaretleme** | **Hayır**{.text-danger} | |
|
|||
|
| **T321** | **Temel SQL-çağrılan rutinleri** | **Hayır**{.text-danger} | |
|
|||
|
| T321-01 | Hiçbir aşırı yükleme ile kullanıcı tanımlı fonksiyonlar | Hayır{.text-danger} | |
|
|||
|
| T321-02 | Hiçbir aşırı yükleme ile kullanıcı tanımlı saklı yordamlar | Hayır{.text-danger} | |
|
|||
|
| T321-03 | Fonksiyon çağırma | Hayır{.text-danger} | |
|
|||
|
| T321-04 | Çağrı bildirimi | Hayır{.text-danger} | |
|
|||
|
| T321-05 | Ret statementurn deyimi | Hayır{.text-danger} | |
|
|||
|
| **T631** | **Bir liste öğesi ile yüklemde** | **Evet**{.text-success} | |
|