Sintasi Pipe ti BigQuery: Ṣiṣe SQL Rọrun, Yiyara, ati Diẹ sii kika

Ẹnikẹni ti o ba ṣiṣẹ pẹlu SQL mọ ibasepo ifẹ-ikorira ti o wa pẹlu rẹ. SQL lagbara, idiwon, ati ikosile-ṣugbọn o tun jẹ ọkan ninu awọn ede ti ko ni oye julọ lati ka ati ṣetọju ni iwọn. Bi ibeere rẹ ṣe jinle si, yoo le ni lati ni oye ohun ti n ṣẹlẹ gangan ati ni aṣẹ wo.
Iyẹn jẹ nitori SQL ko ṣan ni aṣẹ ti o ro. O bẹrẹ nipa kikọ SELECT, ṣugbọn awọn database ko ni kosi ilana ti o akọkọ. Awọn engine bẹrẹ pẹlu awọn FROM gbolohun ọrọ, lẹhinna darapọ mọ data, ṣe àlẹmọ, ṣajọpọ rẹ, ati pe nigbamii nikan kan tito lẹsẹsẹ ati asọtẹlẹ. Abajade jẹ ibeere ti o kọ sẹhin ni ibatan si ọna ti o ṣe.
Aibaramu yii laarin sintasi ati ipaniyan jẹ ki SQL wuwo ni oye mejeeji ati idiyele iširo. Awọn atunnkanka nigbagbogbo gbarale awọn ibeere tabi Awọn asọye Tabili ti o wọpọ (Awọn CTEs) lati ṣe afiwe ṣiṣan oke-si-isalẹ, fifi idiju ti ko wulo ati apọju. Paapaa awọn olumulo ti o ni iriri pari ṣiṣe atunṣe awọn bulọọki itẹ-ẹiyẹ ti ọgbọn dipo idojukọ lori iṣoro ti wọn n yanju.
Lati koju eyi, bigquery awọn atilẹyin1 ṣiṣẹ ni ilana kanna ti wọn ka. Dipo kikọ ọgbọn inu, o kọ ni igbese nipasẹ igbese, bii opo gigun ti epo — laini kọọkan ti o nsoju iyipada ọtọtọ. Abajade jẹ SQL ti o rọrun lati ni oye, rọrun lati yokokoro, ati pupọ diẹ sii ni oye fun itupalẹ data ode oni.

Awọn aworan loke sapejuwe awọn mojuto isoro paipu sintasi solves. Ni ibile SQL, awọn sintactic ibere (bi o ṣe kọ ibeere) jẹ aṣiṣe pẹlu awọn atunmọ ibere (bawo ni database ṣe n ṣe ilana rẹ gangan). Fun apere, SELECT han ni oke, ṣugbọn ẹrọ naa ko ṣe iṣiro rẹ titi di igba ti o ba darapọ mọ, sisẹ, ṣiṣe akojọpọ, ati tito lẹsẹsẹ.
Ọkọọkan yii ṣe aṣoju ọna ọgbọn ati ṣiṣan syntactic ti ibeere paipu BigQuery kan - oke si isalẹ, osi si otun - ti n ṣe afihan bi data data ṣe n ṣe ilana data naa.
- LATI: Ibẹrẹ ti ibeere pipe eyikeyi. Ṣe alaye tabili akọkọ tabi abẹlẹ lati eyiti data n ṣàn. Ninu sintasi pipe,
FROMle duro nikan bi ibeere ti o wulo ati ṣiṣe bi titẹsi si opo gigun ti o tẹle. - Darapọ mọ: Fa tabili lọwọlọwọ pọ pẹlu awọn ọwọn afikun ati awọn ori ila lati tabili miiran tabi abẹlẹ. O le ṣee lo ni igba pupọ ni ọkọọkan (
|> JOIN table USING (key)), ṣiṣe awọn igi ti o jinlẹ si apa osi ti o le ṣee ka laisi awọn ibeere itẹ-ẹiyẹ. - Ṣeto: Ṣe imudojuiwọn awọn iye ọwọn to wa ni aaye (
|> SET column = expression). Awọn iṣẹ biiSELECT * REPLACE(...)ni boṣewa SQL ṣugbọn o jẹ kika diẹ sii ati apọjuwọn nigba lilo bi igbesẹ opo gigun. - FÚN: Ṣafikun awọn ọwọn iṣiro si ipilẹ data ti o wa tẹlẹ (
|> EXTEND expression AS new_column). Iru si Yan *, new_column ni boṣewa SQL ṣugbọn ngbanilaaye ẹda ti afikun ti awọn aaye ti ari laarin awọn iṣẹ miiran bii awọn idapọ ati awọn asẹ. - SINU: Yọọ ọkan tabi diẹ ẹ sii awọn ọwọn lati inu data data lọwọlọwọ (
|> DROP column_name). Ni deede siSELECT * EXCEPT(column)ni boṣewa SQL ati pe a maa n lo nigbagbogbo lati ṣe iṣẹjade simplify tabi dinku iwọn data agbedemeji. - Nibo ni: Ajọ awọn ori ila ti o ni itẹlọrun ipo kan (
|> WHERE condition). Le han nibikibi ninu opo gigun ti epo, ṣaaju tabi lẹhin ikojọpọ, yiyọ iwulo fun awọn ọrọ-ọrọ oriṣiriṣi bii NIBI tabi YẸ. - ÀPAPO: Ṣe tabili kikun tabi awọn akojọpọ akojọpọ (
|> AGGREGATE SUM(column) AS total GROUP BY category). Rọpo GROUP BY ati awọn iṣẹ apapọ laarin Yiyan, irọrun sintasi ati titọpọ pẹlu ilana ọgbọn ti awọn iṣẹ. - PERE NIPA: To awọn ori ila ni ọna ti o gòke tabi ti sọkalẹ (
|> ORDER BY column DESC). Ṣe agbejade tabili abajade ti o paṣẹ ti o le jẹ atẹle nipasẹ awọn oniṣẹ biiLIMIT. - LIMIT: Ni ihamọ nọmba awọn ori ila ninu abajade (
|> LIMIT 10). Ṣiṣẹ lẹhinORDER BYtabi lori unordered tabili, toju awọn adayeba ọkọọkan ti Ajọ ati aggregations. - Ipe: Ṣiṣe iṣẹ ti o ni idiyele tabili tabi awoṣe ikẹkọ ẹrọ nipa lilo tabili lọwọlọwọ bi titẹ sii (
|> CALL ML.PREDICT(MODEL project.model_name)). Imukuro iwulo fun awọn ipe iṣẹ itẹ-ẹiyẹ, ṣiṣẹda laini ati ṣiṣan iṣẹ kika. - Yan: Ṣe alaye asọtẹlẹ ipari ti awọn ọwọn lati ṣafikun ninu iṣelọpọ (
|> SELECT column1, column2). Ṣiṣẹ bi iṣẹ pipade ni opo gigun ti epo, iru si ipariSELECTninu ibeere SQL boṣewa.
Ni isalẹ wa awọn oju iṣẹlẹ ti o wọpọ julọ nibiti sintasi paipu ṣe irọrun ọgbọn SQL, ṣiṣe awọn ibeere di mimọ ati yiyara lati ṣiṣẹ pẹlu.
Iṣakojọpọ Data Laisi Awọn ibeere
Aggregations ni ibi ti SQL bẹrẹ lati rilara inu-jade. Ti o ba fẹ ka nkan kan, lẹhinna ka awọn iye yẹn, o wa lojiji ni apaadi akomọ.
SQL
SELECT c_count, COUNT(*) AS custdist
FROM (
SELECT c_custkey, COUNT(o_orderkey) AS c_count
FROM customer
JOIN orders ON c_custkey = o_custkey
WHERE o_comment NOT LIKE '%unusual%packages%'
GROUP BY c_custkey
)
GROUP BY c_count
ORDER BY custdist DESC; Pipe sintasi
FROM customer
|> JOIN orders ON c_custkey = o_custkey
AND o_comment NOT LIKE '%unusual%packages%'
|> AGGREGATE COUNT(o_orderkey) AS c_count GROUP BY c_custkey
|> AGGREGATE COUNT(*) AS custdist GROUP BY c_count
|> ORDER BY custdist DESC; Ko si itẹ-ẹiyẹ diẹ sii tabi akojọpọ ilọpo meji. Igbesẹ kọọkan n ṣàn lọna ọgbọn ati pe o le ṣe atunṣe ni ominira laisi tunkọ gbogbo ibeere naa.
Ninu ati Iyipada Awọn ọwọn Igbesẹ nipasẹ Igbesẹ
Nigbati o ba nilo lati dinku ọrọ, ṣe iṣiro lapapọ, ati ju awọn ọwọn afikun silẹ, SQL boṣewa fi agbara mu ọ lati tun kọ ọpọlọpọ SELECT awọn gbólóhùn. Paipu sintasi ṣafihan SET, EXTEND, Ati DROP awọn oniṣẹ ki o le lo awọn ayipada ni ọkọọkan.
SQL
SELECT o_custkey, ROUND(o_totalprice) AS total_price
FROM (
SELECT
o_custkey,
o_totalprice,
LOWER(o_orderstatus) AS o_orderstatus
FROM orders
)
WHERE total_price > 1000; Pipe sintasi
FROM orders
|> SET o_orderstatus = LOWER(o_orderstatus)
|> EXTEND ROUND(o_totalprice) AS total_price
|> WHERE total_price > 1000
|> SELECT o_custkey, total_price; Iṣiṣẹ kọọkan kọ lori ọkan ti tẹlẹ, ṣiṣe ki o rọrun lati wa kakiri awọn iyipada ati tun lo ọgbọn.
Sisẹ Lẹhin Ikopọ Laisi Ranti “NINI”
Ọkan ninu awọn quirks SQL ni pe akoko awọn asẹ yipada da lori gbolohun ọrọ naa. O lo WHERE ṣaaju kikojọpọ ati HAVING lẹhin, sugbon ni otito,, mejeeji kan àlẹmọ awọn ori ila. Paipu sintasi faye gba o lati lo WHERE àìyẹsẹ, ko si ibi ti o ba gbe o.
SQL
SELECT department, COUNT(*) AS emp_count
FROM employees
WHERE active = TRUE
GROUP BY department
HAVING COUNT(*) > 5; Pipe sintasi
FROM employees
|> WHERE active = TRUE
|> AGGREGATE COUNT(*) AS emp_count GROUP BY department
|> WHERE emp_count > 5; Bayi o le kọ awọn asẹ ni ilana kanna ti o ronu nipa wọn: kọkọ ṣe àlẹmọ data naa, lẹhinna ṣe akojọpọ rẹ, lẹhinna ṣe àlẹmọ lẹẹkansii lori awọn abajade.
Awọn ibeere ti n ṣatunṣe aṣiṣe Laisi Awọn tabili Igba diẹ
Ni SQL boṣewa, ṣayẹwo abajade agbedemeji nilo boya ṣiṣẹda tabili igba diẹ tabi yi koodu naa sinu awọn CTE pupọ. Pẹlu sintasi paipu, o le ṣiṣe ibeere naa titi de aaye eyikeyi ninu opo gigun ti epo.
SQL
WITH filtered AS (
SELECT * FROM orders WHERE o_totalprice > 500
),
summed AS (
SELECT o_custkey, SUM(o_totalprice) AS total
FROM filtered GROUP BY o_custkey
)
SELECT * FROM summed WHERE total > 10000; Pipe sintasi
FROM orders
|> WHERE o_totalprice > 500
|> AGGREGATE SUM(o_totalprice) AS total GROUP BY o_custkey
|> WHERE total > 10000; Ipele kọọkan ti ibeere naa jẹ ṣiṣe funrarẹ, eyiti o tumọ si pe o le “wo” ni data ni ipele eyikeyi. O jẹ mimọ, ọna ibaraenisepo diẹ sii lati yokokoro ati aṣetunṣe.
Awọn awoṣe Chaining ati Awọn iṣẹ Laisi itẹ-ẹiyẹ
Nigbati o ba n ṣiṣẹ pẹlu awọn iṣẹ ti o niyele lori tabili tabi awọn awoṣe BigQuery ML, itẹ-ẹiyẹ le ni iyara ti a ko le ka. Sintasi paipu rọpo awọn ipe itẹ-ẹiyẹ wọnyẹn pẹlu didi laini ni lilo IPE.
SQL
SELECT *
FROM ML.PREDICT(
MODEL `project.sentiment_model`,
(SELECT text FROM reviews)
); Pipe sintasi
SELECT text FROM reviews
|> CALL ML.PREDICT(MODEL `project.sentiment_model`); Ti o ba lo awọn awoṣe pupọ tabi awọn iyipada, o kan ni afikun awọn laini IPE—ko si akomo ti o nilo.
Data Pivoting Laisi Awọn yiyan Itẹle
Awọn data pivoting ti jẹ ilana ti o nira nigbagbogbo, nigbagbogbo nilo awọn ipele ti awọn ibeere. Sintasi paipu simplifies o sinu ọkan ti nṣàn ọkọọkan.
SQL
SELECT *
FROM (
SELECT n_name, c_acctbal, c_mktsegment
FROM customer JOIN nation USING (n_nationkey)
)
PIVOT(SUM(c_acctbal) FOR n_name IN ('PERU', 'KENYA', 'JAPAN')); Pipe sintasi
FROM customer
|> JOIN nation USING (n_nationkey)
|> SELECT n_name, c_acctbal, c_mktsegment
|> PIVOT(SUM(c_acctbal) FOR n_name IN ('PERU', 'KENYA', 'JAPAN')); Ibeere naa ka bayi bi itan: bẹrẹ pẹlu data rẹ, darapọ mọ, yan ohun ti o nilo, lẹhinna pivot.
Idi ti Pipe sintasi Ni a Game-Changer
Paipu sintasi ko ni reinvent SQL-o clarifies o. O ṣe itọju ohun gbogbo ti o lagbara nipa eto asọye SQL ṣugbọn yọkuro ori oye ti ọgbọn kikọ sẹhin.
Fun awọn onimọ-jinlẹ data, awọn atunnkanka, ati awọn onimọ-ẹrọ, iyẹn tumọ si:
- Rọrun lati ka, kọ, ati awọn ibeere yokokoro
- Ko si awọn ibeere juggling diẹ sii tabi awọn CTE fun awọn iṣẹ ṣiṣe ti o rọrun
- Streamlined kannaa ti o digi bi o si gangan ro
- Išẹ ti o dara julọ ati awọn iṣẹ aiṣedeede diẹ
Sintasi pipe BigQuery jẹ SQL fun akoko data ode oni — laini, ogbon inu, ati iṣapeye fun awọn atupale gidi-aye.



