Dela via


Frågeutdrag

Det är ofta enklare att duplicera tidigare arbete och ändra än att skriva något från grunden. Detta gäller särskilt för vanliga JOIN-instruktioner eller komplexa CASE uttryck. När listan med frågor växer kan det vara svårt att komma ihåg vilka frågor som innehåller den instruktion du behöver. Du kan också skapa ett frågefragment som innehåller en infogningspunkt med platshållartext som en användare kan ersätta under körning.

Frågefragment är segment av frågor som du kan dela och utlösa med hjälp av automatisk komplettering. Använd frågefragment för:

  • Vanliga JOIN-uttalanden
  • Komplicerade satser som WITH eller CASE.
  • Villkorsstyrd formatering

Här är exempel på kodfragment:

--Simple snippet
WHERE fare_amount > 100

--Snippet with an insertion point for a value to be provided at runtime
WHERE fare_amount > ${1:value}

--Snippet with an insertion point for a value to be provided at runtime and containing a default value
WHERE fare_amount > ${1:100}

--Snippet with multiple insertion points
WHERE fare_amount > ${2:min_value} AND fare_amount < ${1:max_value} AND trip_distance < ${0:max_distance}

Skapa frågefragment

Du kan skapa ett frågefragment från SQL-, notebook- eller filredigeraren. Följ dessa steg:

  1. I den nya SQL-redigeraren klickar du på menyikonen Kebab. kebabmeny och klickar sedan på Visa.

    Klicka på Visa i anteckningsboken eller filredigeraren.

  2. Klicka på Frågefragment.

  3. Klicka på Skapa frågefragment.

  4. I fältet Ersätt anger du kodfragmentets namn. Du använder det här namnet när du skriver en fråga som använder kodfragmentet.

  5. (Valfritt) Ange en beskrivning.

  6. I fältet kodfragment anger du kodfragmentet.

  7. Klicka på Skapa.

    frågeutdrag

Använda ett frågefragment

Frågefragment kan användas vilken SQL-fråga som helst. Du kan komma åt frågefragment i SQL-redigeraren, SQL-notebook-celler, SQL-filer och AI/BI-instrumentpanelsfrågor.

Här är ett exempel på en enkel fråga som du kan använda följande frågefragment med:

--Simple query
SELECT * FROM samples.nyctaxi.trips

Använd följande steg för att använda ett frågefragment med den här frågan:

  1. Öppna SQL-redigeraren.

  2. Skriv din fråga i frågefönstret för SQL-redigeraren.

  3. Börja skriva namnet på frågefragmentet och välj det sedan i fönstret Komplettera automatiskt.

    I SQL-redigeraren kan du också öppna fönstret manuellt med Control+Space och välja ett kodfragment.

    Fråga som väljer ett kodfragment

  4. Kör frågan med WHERE-satsen från frågefragmentet.

    fråga som visar ett kodfragment som används i en fråga

Arbeta med infogningspunkter i frågefragment

Du anger insättningspunkter genom att omsluta en heltalsordning med ett dollartecken och klammerparenteser ${}. En textplatshållare som föregås av ett kolon :är valfritt men användbart för användare som inte är bekanta med kodfragmentet. I frågeutdragen med insättningspunkter som du skapade tidigare är ${1:value} en insättningspunkt med en platshållare, och ${1:100} är en insättningspunkt med ett standardvärde för platshållaren som du kan åsidosätta vid körning. När Databricks SQL renderar kodfragmentet tas dollartecknet $ och klammerparenteserna {} bort och ordet value eller standardvärdet 100 för markeras för ersättning.

När det finns flera insättningspunkter hoppar textinfognings-careten till den första insättningspunkten för att fråga efter önskat värde. När du trycker på Tab hoppar markören till nästa insättningspunkt för nästa värde. När du trycker Tab igen hoppar careten till nästa insättningspunktslinje tills den når den sista insättningspunkten.

Notera

En insättningspunkt med värdet noll ${0} är alltid den sista punkten i tabbordningen.

Använd följande steg för att använda insättningspunktsfrågefragment med frågan:

  1. Öppna SQL-redigeraren.

  2. Skriv din fråga i frågefönstret för SQL-redigeraren.

  3. Skriv de första tre bokstäverna i namnet på frågefragmentet och välj sedan ett frågefragment med insättningspunkten utan ett standardvärde.

    Frågefragmentet läggs till i frågan och textmarkören flyttas till insättningspunkten.

    Sökfråga med hjälp av en frågemall för insättningspunkten utan standardvärde

  4. Ange ett värde för WHERE-satsen, till exempel 200.

  5. Du kan också köra frågan med WHERE -satsen från frågefragmentet.

  6. Upprepa föregående steg, men välj frågefragmentet med insättningspunkten med ett standardvärde.

    Fråga med hjälp av insättningspunktsfrågefragment som innehåller ett förinställt värde

  7. Upprepa föregående steg, men välj frågefragmentet med flera insättningspunkter.

    Använd frågefragment som inkluderar flera insättningspositioner

  8. Ange ett värde för den första insättningspunkten, ta en flik till nästa insättningspunkt och ange ett värde och ta sedan en flik till den sista insättningspunkten och ange ett värde.