Slik Bruker Du Koblinger og Funksjoner I SQL

Hopp Til Seksjon

SQL Introduksjon

SQL står For Structured Query Language. Den brukes hovedsakelig til datamanipulering, datamodifisering og datahenting. Dette kommer rundt Med RELASJONSDATABASE Management System (RDBMS).

vi vil lære om mer avanserte funksjoner I SQL som Tiltrer Og Funksjoner.

hvordan arbeide MED SQL Joins

en enkel sammenføyning betyr å kombinere to eller flere tabeller i en gitt database. En sammenføyning fungerer på en felles enhet av to tabeller.

en sammenføyning inneholder 5 sub-sammenføyninger som Som; Indre sammenføyninger, Ytre Sammenføyninger, Venstre Sammenføyninger, Høyre Sammenføyninger og Kryss Sammenføyninger.

Indre Sammenføyning

en indre sammenføyning brukes til å velge poster som inneholder felles eller samsvarende verdier i begge tabellene (Tabell A og Tabell B). Ikke-matching er eliminert.

Så, la oss forstå typen av sammenføyninger, og med vanlige eksempler og forskjellene mellom dem.

Tabell 1: Ansatt Tabell (tblEmployee)

Tabell 2: Avdelinger Tabell (tblDepartments)

Så, la oss lage tabell tblavdelinger for utførelse av et program.

Sett inn poster i tabell tblDepartments.

la oss lage en annen tabell tbleansatt for utførelse av et program.

Så Sett inn poster i tabell tbleansatt.

Derfor, en generell formel for sammenføyninger.

for å lage en spørring for Å finne Navn, Kjønn, Lønn Og Avdelingsnavn fra både tabellene tblEmployee og tblDepartments.

MERK: JOIN eller INNER JOIN betyr det samme. Men alltid bedre å bruke INNER JOIN, og dette angir din intensjon eksplisitt.

Utgang: nå vil den endelige utgangstabellen se slik ut;

hvis du ser på utgangsvinduet, har vi bare 8 rader, men i tabellen tbleansatt, vi har 10 rader. VI fikk IKKE JAMES og RUSSELL records. DETTE skyldes AT DEPARTMENTID, i tabell tblEmployee ER NULL for disse to ansatte og samsvarer ikke MED ID-kolonnen I tabell tblDepartments.

Så I en endelig setning returnerer Indre Sammenføyninger bare samsvarende rader fra begge tabellene, og ikke-samsvarende rader elimineres på grunn av delspørringen.

Venstre Sammenføyning

VENSTRE Sammenføyning returnerer alle matchende rader og ikke-samsvarende rader fra venstre sidetabell. I tillegg Er Inner join og Left join mye brukt hverandre.

Så, la oss ta et eksempel, jeg vil ha alle rader fra tblemployee-tabellen, inkludert JAMES og RUSSELL-poster. Da vil utgangen se ut som;

Høyre Bli Med

HØYRE Sammenføyning returnerer alle matchende rader og ikke-samsvarende rader fra høyre sidebord.

Så, la oss ta et eksempel; jeg vil ha alle rader fra høyre tabeller involvert i sammenføyningen. Som et resultat ville være som;

Full Ytre delta

YTRE sammenføyning eller FULL YTRE Sammenføyning returnerer alle rader fra både venstre og høyre tabeller, og inkluderer ikke-samsvarende rader fra tabellene.

Så, la oss ta et eksempel; jeg vil ha alle radene fra begge tabellene som er involvert i sammenføyningen.

Kryss sammenføyning

denne sammenføyningen gir Det Kartesiske produktet av de 2 tabellene i sammenføyningsfunksjonen. Denne sammenføyningen inneholder IKKE EN klausul.

Så, la oss forstå et eksempel: I tblEmployee-tabellen har vi 10 rader og i tbldepartments-tabellen har vi 4 rader. Så, Et Kryss forbinder mellom disse 2 tabellene produserer 40 rader.

hvordan jobbe Med Advance SQL Joins

i denne økten vil jeg forklare disse tingene som følger;

  • Avansert eller intelligent tiltrer I SQL Server.
  • Hent data bare de ikke-samsvarende radene fra venstre tabell.
  • Hent data bare de ikke-samsvarende radene fra høyre tabell.
  • Hente data Bare ikke-samsvarende rader fra både venstre og høyre tabeller.

så, la oss vurdere både tabellene tblEmployee og tblDepartment.

Venstre Bli Med

Så, la oss forstå et eksempel, jeg vil bare hente de ikke-samsvarende radene fra venstre sidebord.

Utgang: til Slutt vil utgangen se slik ut;

Høyre Bli Med

Så, la oss forstå et eksempel, jeg vil bare hente de ikke-samsvarende radene fra høyre sidebord.

Utgang: til Slutt vil utgangen se slik ut;

Full Ytre delta

Så, la oss forstå et eksempel, jeg vil bare hente de ikke-matchende radene fra høyre sidebord og venstre sidebord og matchende rader bør elimineres.

Utgang: endelig vil utgangen se slik ut;

Typer Nøkler I SQL

En Nøkkel I SQL er et datafelt som utelukkende identifiserer en post. I et annet ord er en nøkkel et sett med kolonner som brukes til å identifisere posten i en tabell unikt.

  • Opprett relasjoner mellom to tabeller.
  • Oppretthold unikhet og ansvar i en tabell.
  • Behold konsistente og gyldige data i en database.
  • Kan hjelpe til med rask datahenting ved å legge til rette for indekser på kolonne (r).

EN SQL server inneholder nøkler som følger;

  1. Kandidatnøkkel
  2. Primærnøkkel
  3. Unik Nøkkel
  4. Alternativ Nøkkel
  5. Komposittnøkkel
  6. Supernøkkel
  7. Fremmednøkkel

før du går videre, og ta en titt på bildet nedenfor;

La oss forstå hver nøkkel i detaljer

Kandidatnøkkel

en kandidatnøkkel er en nøkkel i en tabell som kan velges som en primærnøkkel i tabellen, og en tabell kan ha flere kandidatnøkler, derfor kan man velges som primærnøkkel.

Eksempel: Employee_Id, License_Number, & Pass_number viser kandidatnøkler

Primærnøkkel

en primærnøkkel ligner valgt kandidatnøkkel i tabellen for å verifisere hver datapost unikt i tabellen. Primærnøkkelen inneholder derfor ingen nullverdi i noen av kolonnene i en tabell, og den beholder også unike verdier i kolonnen. I det gitte eksemplet Definerer Employee_Id primærnøkkel For Ansatttabellen. I SQL Server Management Studio Oppretter Derfor Primærnøkkelen en gruppert indeks på en heap-tabell som standard, og en tabell som ikke består av en gruppert indeks, kalles en heap-tabell. Om definerer en ikke-klumpet primærnøkkel i en tabell etter type indeks eksplisitt.

videre kan en tabell bare ha en primærnøkkel og primærnøkkel kan defineres I SQL Server ved HJELP AV SQL-setninger:

  1. CRETE TABLE statement (på tidspunktet for tabellopprettelse) – som et resultat definerer systemet navnet på primærnøkkelen.
  2. ALTER TABLE –setning (ved hjelp av en primærnøkkelbegrensning) – Som Et resultat erklærer Brukeren selv navnet på primærnøkkelbegrensningen.

Eksempel: Employee_Id er en primærnøkkel I Ansatttabellen.

Unik Nøkkel

en unik nøkkel er mye som primærnøkkelen, og som ikke inneholder dupliserte verdier i kolonnen. Den har under forskjeller i sammenligningen av primærnøkkelen:

  1. det tillater en nullverdi i kolonnen.
  2. som standard oppretter den en ikke-gruppert indeks-og heap-tabell.

Alternativ Nøkkel

alternativ nøkkel ligner kandidatnøkkelen, men er ikke valgt som primærnøkkel i tabellen.

Eksempel: License_Number og Pass_number er alternative nøkler.

Komposittnøkkel

Komposittnøkkel (også kjent som en sammensatt nøkkel eller sammenkoblet nøkkel) er en gruppe med to eller flere kolonner som identifiserer hver rad i en tabell unikt. Videre kan en enkelt enhetskolonne av en sammensatt nøkkel ikke være i stand til å unikt verifisere datapostene. Som et resultat kan det være enten primærnøkkel eller kandidatnøkkel også.

Eksempel: I tabellen kontrollerer Employee_Id & Salary_Month_Year begge kolonnene hver rad unikt i Lønnstabellen. Derfor, Employee_Id eller Salary_Month_Year kolonne i tabellen, som ikke kan identifisere hver rad unikt. Vi kan lage en enkelt sammensatt primærnøkkel På Lønnstabellen ved Å bruke Employee_Id og Salary_Month_Year kolonnenavn.

Super Key

Super key er et sett med kolonner som alle kolonnene i tabellen er funksjonelt avhengige av. På grunn av settet med kolonner som unikt identifiserer hver rad i en tabell. I et annet ord inneholder denne nøkkelen få ekstra kolonner som ikke er strengt pålagt å unikt verifisere hver rad i tabellen. Virker Som, Primærnøkkel og kandidatnøkler er minimal supertaster, eller du kan si en delmengde av supertaster.

Så, la oss se på eksempelet ovenfor, i Ansatttabellen er kolonnenavn Employee_Id neppe tilstrekkelig til å unikt verifisere en rad i tabellen. Så, at et sett med en kolonne Fra Ansatt tabell som inneholder Employee_Id er en superkey For Ansatt Tabell.

for eksempel: {Employee_Id}, {Employee_Id, Employee_Name}, {Employee_Id, Employee_Name, Adresse} etc.

License_Number og Pass_number er kolonnenavnet, det kan også unikt verifisere noen av radene i tabellen. Alle av kolonnenavn sett som består License_Number Eller Passport_Number eller Employee_Id er en superkey av tabellen.

for eksempel: {License_Number, Employee_Name, Address}, {License_Number, Employee_number}, {Passport_Number, Employee_number}, {Passport_Number, Employee_Id} etc.

Fremmednøkkel

EN FK definerer forholdet mellom to eller flere enn to tabeller om gangen. En primærnøkkel i en enkelt tabell refereres til en sekundærnøkkel i en annen tabell. En sekundærnøkkel kan ha dupliserte verdier i en tabell, og den kan også ha nullverdier hvis kolonnenavnet er definert for å godta nullverdier ennå.

For Eksempel Kolonnenavnet «Employee_Id» ( som er en primærnøkkel I Ansatttabellen ) er en fremmednøkkel I Lønnstabellen.

Merk: Nøkler som primærnøkkel og unik nøkkel oppretter indekser med nøkler kolonner. Organisert data I b-tree structure node (Balansert Tre: Bladnoder er alle på forskjellig nivå fra rotsiden) I SQL Server. Derfor Oppretter Ikke-Klumpet indeks en separat struktur fra basedatatabellen, men gruppert indeks konverterer basedatatabellen fra heap-struktur til En b-trestruktur.

i tillegg lager ikke gruppert indeks en egen struktur bortsett fra grunntabellen, og det er grunnen til at vi bare kan opprette en gruppert indeks på et bord. Derfor kan vi sortere et bord på bare en måte (det kan ha flere kolonner å sortere, men sortering kan gjøres på en eneste måte) som er rekkefølgen til den grupperte indeksen.

slik arbeider DU Med SQL-Funksjoner

En Funksjon er et enhetsprogram som er lagret i SQL Server-Databasen, enten du kan sende parametere til eller returnere en verdi. Videre ser vi frem til noen svært nyttige Innebygde funksjoner og brukerdefinerte funksjoner.

Coalesce-Funksjon

Coalesce (): denne funksjonen returnerer bare kommer forste IKKE NULL verdi. Så, la oss ta et eksempel over Coalesce () – funksjonen.

La oss forstå tabellen som Navnet ‘Ansatt’ ovenfor. Som et resultat, du kan se noen av de ansatte har Sitt Fornavn mangler, noen har Et Mellomnavn og noen Av Dem Har Etternavn mangler. Så, jeg vil bare returnere» Navn » til den ansatte.

hvordan vil det fungere? Forstå, vi behandler Fornavn, Mellomnavn og Etternavn kolonner som parametere TIL COALESCE () – funksjonen. Derfor returnerer denne funksjonen den eneste første ikke-nullverdien fra 3 av kolonnene.

Spørring: Velg Id, COALESCE (Fornavn, Mellomnavn, Etternavn) Som Navn fra tblEmployee

til slutt vil utgangen se slik ut;

VENSTRE () – Funksjon

VENSTRE (Character_Expression, Heltall_expression) – denne funksjonen returnerer det angitte antallet tegn fra venstre side av det angitte tegnverdiuttrykket.

Eksempel: Velg VENSTRE(‘ABCDE’, 3)

Utgang: ABC

HØYRE () Funksjon

HØYRE (Character_Expression, Integer_Expression) – denne funksjonen returnerer det angitte antall tegn fra høyre side av det gitte tegnverdiuttrykket.

Eksempel: Velg HØYRE(‘ABCDE’, 3)

Utgang: Cde

CHARINDEX () – Funksjonen

CHARINDEX(‘Expression_To_Find’, ‘Expression_To_Search’, ‘Start_Location’) – denne funksjonen returnerer startposisjonen for det angitte verdiuttrykket i en tegnunderstreng. Start_location-parameteren er valgfri.

Eksempel: La oss forstå, vi lager startposisjonen til ‘ @ ‘ – tegnet i e-poststrengen ‘[email protected]’.

Velg CHARINDEX ( ‘ @’, ‘[email protected]’,1)

Utgang: 5

DELSTRENG () – Funksjon

DELSTRENG(uttrykk’, ‘Start’, ‘Lengde’) – denne funksjonen returnerer delstreng (del av strengen), fra gitt verdi uttrykk. I tillegg, når du angir startposisjonen ved hjelp av’ start ‘- parameteren og det andre antall tegn i substringen ved hjelp Av ‘Lengde’ – parameteren. Alle tre parametrene er obligatoriske.

Eksempel: Jeg vil bare vise domenedelen av den oppgitte e-posten ‘[email protected]’.

Velg DELSTRENG(‘[email protected]’,6, 7)

Utgang: bbb.com

som et resultat gjorde vi kodingen med startposisjonen og lengdeparametrene. I stedet for hardcoding parametrene, kan vi dynamisk hente dem VED HJELP AV CHARINDEX() og LEN () strengfunksjoner som vist nedenfor.

Eksempel:
Velg DELSTRENG(‘[email protected]’, (CHARINDEX ( ‘ @ ‘ , ‘[email protected]’) + 1), (LEN (‘[email protected]’) – CHARINDEX ( ‘ @ ‘ ,’[email protected]’)))

Utgang: bbb.com

Så, la oss ta et reelt eksempel med bruk AV len(), CHARINDEX() og SUBSTRING() funksjoner. La oss tro at vi har et bord som vist nedenfor;

så spørsmålet Er Hvordan vil du finne det totale antall e-poster av deres domene.

Utgang: til Slutt vil utgangen se slik ut;

REPLIKERE () – Funksjonen

REPLIKERE (String_To_Be_Replicated, Number_Of_Times_To_Replicate) – denne funksjonen gjentar gitt punkt av strengen, og for det angitte antall ganger.

Eksempel: VELG REPLIKERE (‘Pragim’, 3)

Utgang:Pragim Pragim Pragim

la oss snakke om et praktisk eksempel på BRUK AV REPLIKAT () – funksjon: Vi vil bruke denne tabellen mesteparten av tiden, og for resten av våre eksempler i denne artikkelen.

så, la oss anta at vi har et bord som vist nedenfor;

Spørring: Velg Fornavn, Etternavn, SUBSTRING (E-Post, 1, 2) + REPLIKERE(‘*’,5) +
DELSTRENG(E – Post, CHARINDEX (‘@’, E – Post), LEN (E-Post) – CHARINDEX (‘@ ‘ , E-Post)+1) Som E-Post
fra tblEmployee

La oss lage e-post med 5 * (stjerne) symboler. Da vil utdataene være som dette

SPACE () – Funksjonen

SPACE(Number_Of_Spaces) – denne funksjonen returnerer det eneste antall mellomrom, og angitt av termen Number_Of_Spaces argumentet.

Eksempel: FUNKSJONEN MELLOMROM (5), vil den sette inn 5 mellomrom Mellom Fornavn Og Etternavn
Velg Fornavn + MELLOMROM (5) + Etternavn Som Fullt Navn fra tblEmployee

PATINDEX () – Funksjonen

denne funksjonen returnerer bare startstedet for den første forekomsten av et mønster i et angitt effektivt uttrykk. Derfor tar det bare to argumenter, og mønsteret som skal søkes og uttrykket. DERFOR ER PATINDEX () lik CHARINDEX (). MED CHARINDEX () kan vi ikke bruke jokertegn, MENS PATINDEX () innebærer denne evnen. HVIS den angitte mønsterverdien ikke blir funnet, RETURNERER PATINDEX() NULL.

Eksempel: Velg E-Post, PATINDEX (‘%aaa.com, E-post’) Som FirstOccurence fra tblEmployee hvor PATINDEX (‘%@aaa.com’, E-Post) > 0

ERSTATT () – Funksjonen

ERSTATT (String_Expression, Pattern, Replacement_Value), erstatter denne funksjonen alle forekomster av en angitt strengverdi med en annen strengverdi.

Eksempel: Alle .COM-strenger erstattes med. NET
Velg E-Post, ERSTATT (E-Post, ‘.com’,’.net’) Som ConvertedEmail fra tblEmployee

STUFF () – Funksjonen

STUFF(Original_Expression, Start, Length, Replacement_expression), setter DENNE STUFF () – funksjonen Bare Inn Replacement_expression, som er angitt i startposisjonen, sammen med å fjerne tegnene som er angitt ved Hjelp Av Lengdeparameterverdiuttrykk.

Eksempel: Velg Fornavn, etternavn, E-Post, TING (E-Post,2,3,’*****’) som StuffedEmail fra tblEmployee.

Dato Tid funksjon

det finnes flere innebygde DateTime funksjoner tilgjengelig I SQL Server database. De fleste av følgende funksjoner kan brukes til å få gjeldende system dato og klokkeslett, og hvor DU HAR SQL server installert.

DERFOR STÅR UTC For Koordinert Universell Tid, basert på hvilken verden regulerer klokker og tidsdata. Bemerkelsesverdig. DET er små forskjeller MELLOM GMT og UTC, MEN FOR de fleste vanlige formål ER UTC synonymt med GMT.

Så, la oss ta et annet eksempel som vist nedenfor;

isDate () – Funksjonen

ISDATE () – denne funksjonen kontrollerer om den eneste gitte verdien, og det finnes en gyldig dato, klokkeslett eller DateTime. Deretter vil det returnere 1 for suksess, 0 for feil.

Eksempel:
Velg ISDATE(‘PRAGIM’) — det vil returnere 0

Eksempel:

Velg ISDATE(Getdate()) — det vil returns1

Eksempel:

Velg ISDATE(‘2018-01-20 21:02:04.167’) — Den returnerer 1

Merk: For datetime2-verdier returnerer IsDate NULL.

Eksempel:

Velg ISDATE(‘2018-01-20 22:02:05.158.1918447’) — det vil returnere 0.

Dag () – Funksjon

Dag () – denne funksjonen returnerer Bare ‘Månedens dag’ for den angitte datoen.

Eksempler:

Velg DAG (GETDATE ()) — det vil gi utdata på vegne av dagen i måneden, og basert på gjeldende system DateTime.

Velg DAG(’01/14/2018′) — den returnerer 14

Måned () – Funksjon

Måned () – denne funksjonen gir utdata på vegne av Månedsnummeret til året for den angitte datoen.

Eksempler:

Velg Måned(GETDATE ()) – denne funksjonen gir utdata på vegne av Månedsnummeret til året, og basert på gjeldende systemdato og-tid.

Velg Måned(’05/14/2018) — den returnerer 5

År () – Funksjonen

År () — denne funksjonen gir utdata på vegne av ‘årsnummer’ for den angitte datoen

Eksempler:

Velg År(GETDATE ()) — Returnerer årsnummeret, og Basert på gjeldende systemdato

velg År(’01/20/2018) – den returnerer 2018

Datanavn () – Funksjonen

Datanavn(datepart, dato) – denne funksjonen Returnerer bare et strenguttrykk, og som bare representerer en del av den angitte datoen. Disse funksjonene består av 2 parametere.

Den første parameteren ‘DatePart’ angir den delen av datoen vi vil ha. Den andre parameteren er den virkelige datoen, hvorfra vi vil ha Delen Av Datoen.

Eksempel 1:

Velg DATANAVN (Dag, ‘2017-04-20 13:47:47.350’) — den returnerer 20

Eksempel 2:

Velg DATANAVN (UKEDAG, ‘2017-04-20 13:47:47.350’) — det kommer tilbake torsdag

Eksempel 3:

Velg DATANAVN (MÅNED, ‘2017-04-20 13:47:47.350’) — den returnerer April

Så, la oss ta et eksempel ved hjelp av noen Av Disse DateTime-funksjonene. Vurder tabellen tbleansatte.

Eksempel: jeg vil returnere Alle Navn, DateOfBirth, Dag, MonthNumber, MonthName og År som vist nedenfor.

Velg Navn, DateOfBirth, DateName(UKEDAG,DateOfBirth) som , Måned(DateOfBirth) Som MonthNumber, DateName(MÅNED, DateOfBirth) som , År (DateOfBirth) som fra tblEmployees

DatePart () – Funksjonen

DatePart – DatePart, Date) – denne funksjonen gir et heltall som representerer den angitte DatePart-verdien. For det meste er funksjonen lik DateName () – funksjonen. DateName () returnerer bare nvarchar-verdien, Mens DatePart () returnerer bare en heltallsverdi. De gyldige Parameterverdiene For DatePart vises nedenfor.

Eksempler:

Velg DATOPART (ukedag, ‘2012-08-30 19:45:31.793’) — den returnerer 5

Velg DATANAVN (ukedag, ‘2012-08-30 19:45:31.793’) — den returnerer torsdag

DateAdd () – Funksjonen

DATEADD (datepart, NumberToAdd, dato) – DENNE SQL-funksjonen gir Bare DateTime, etter angitt term NumberToAdd, og til datepart angitt for den angitte datoen.

Eksempler:

Velg Datotillegg(DAG, 10, ‘2018-01-20 19:45:31.793’) — det kommer tilbake ‘2018-01-30 19:45:31.793’

Velg DateAdd (DAG, -10, ‘2012-08-30 19:45:31.793’)– det kommer tilbake ‘2018-01-20 19:45:31.793’

DatedDiff () – Funksjonen

DATEDIFF (datepart, startdate, enddate) – denne funksjonen gir antall angitte datepart grenser krysset mellom angitt startdato og sluttdato.

Eksempler:

Velg DATEDIFF (MÅNED, ’11/30/2005′,’01/31/2006′) — den returnerer 2

Velg DATEDIFF (DAG, ’11/30/2005′,’01/31/2006′) — den returnerer 62

Så, la oss ta et eksempel, la oss anta at vi har et bord gitt nedenfor;

Så Skriv et spørsmål for å finne ut alderen til en person når fødselsdatoen er gitt.

Til Slutt vil utgangen se ut som vist nedenfor.

Cast() Og Convert () Funksjoner

FOR å konvertere en enkelt enhet datatype til en annen, KAN CAST og CONVERT funksjoner brukes.

Syntaks AV CAST og KONVERTER funksjon:
CAST (uttrykk som data_type )
KONVERTER (data_type , uttrykk )

I tillegg, som du kan se AT KONVERTER () – funksjonen har en valgfri stilparameterverdi, mens CAST () – funksjonen mangler denne funksjonen.

Så, la oss ta et eksempel, vi tar et bord som er gitt nedenfor;

følgende 2 spørringer konverterer Dateofbirths DateTime datatype TIL NVARCHAR. Den første spørringen bruker CAST () – funksjonen, og den andre bruker CONVERT () – funksjonen. Endelig er utgangen nøyaktig den samme for begge spørringene som vist nedenfor.

Velg ID, Navn DateOfBirth, Cast(DateOfBirth som nvarchar) Som ConvertedDOB fra tblemployees.

Velg ID, Navn DateOfBirth, Konverter(DateOfBirth som nvarchar) Som ConvertedDOB fra tblemployees.

Så, la oss lage stilparameteren TIL FUNKSJONEN KONVERTER (), og formatere Datoen som vi ønsker det. Så, vi bruker 103 som passerer argumentet for stilparameter i gitt under spørring, og hvilke formater datoen som dd / mm / åå.

Velg ID, Navn, DateOfBirth, Konverter (nvarchar, DateOFBirth, 103) Som ConvertedDOB fra tblEmployees.

Så, la oss se på praktisk eksempel ved HJELP AV CAST () – funksjonen;

la oss anta at vi har en registreringstabell nedenfor som;

Nå, la oss finne det totale antall registrering per dag.

Eksempel: Velg CAST(RegisteredDate as DATE) som RegistrationDate, COUNT(Id) som TotalRegistrations Tblregistrations Group By CAST(RegisteredDate as DATE)

Output: Endelig vil utgangen se ut som ;

Brukerdefinerte Funksjoner

DET finnes 3 Typer Brukerdefinerte Funksjoner I SQL Server som som

  1. Skalarfunksjoner
  2. Inline tabellverdige funksjoner
  3. Multistatement tabellverdige funksjoner

Skalarfunksjoner

skalarfunksjoner varierer i parametere som Kanskje Eller Ikke Har Parametere, Og Gir Alltid En Enkelt (Skalar) verdi I Utgangen. Den returnerte verdien kan derfor være av alle datatypeformater unntatt tekstverdi, tekst, bilde, markør og tidsstempel.

Eksempel: Så, la oss utvikle en funksjon som beregner og returnerer alderen til en person i produksjonen. Følgelig, for å sammenligne alderen vi trengte for, fødselsdato. Så, la oss passere fødselsdato som en parameter. DERFOR VIL AGE () – funksjonen returnere et heltall og vil godta dato parameter.

Velg dbo.Alder (dbo.Alder (’10/08/1982′).

Så, la oss ta et praktisk eksempel i gitt tabell nedenfor som følger;

Skalar brukerdefinerte funksjoner kan brukes I Select-klausulen som vist nedenfor.

Velg Navn, DateOfBirth, dbo.Alder (DateOfBirth) Som Alder fra tblEmployees

Vis for Det meste teksten til funksjonen bruk sp_helptext FunctionName.

Funksjoner med innebygd tabellverdi

en Funksjon Med Innebygd Tabellverdi returnerer alltid en tabell som utdata.

Så, La oss ta et eksempel nedenfor; Opprett en funksjon som returnerer ANSATTE ETTER KJØNN.

på grunn av kallemetoden for den brukerdefinerte funksjonen,

Velg * Fra fn_employeebygender(‘male’)

MULTI-STATEMENT TABLE VALUED FUNCTION

Multi-statement table-valued function er mye mer lik Inline Table-valued function og med noen forskjeller. Så, la oss ta en titt på et eksempel, og merk deretter forskjellene.

Ansatt Tabell

Multi-statement Tabell Verdsatt funksjon(MSTVF):

på grunn av ringer metode for vthe Multi-statement Tabell Verdsatt Funksjon:
Velg * fra fn_MSTVF_GetEmployees ()

Konklusjon

Sammenføyningene er veldig mye forståelsesbegrep for nybegynnere i læringsfasen AV SQL-kommandoer. Følgelig, i intervjuet, Intervjuer Spør minst ett spørsmål er OM SQL tiltrer, og funksjoner. Så i dette innlegget prøver jeg å forenkle tingene for nye SQL-elever og gjøre det enkelt å forstå SQL-leddene. Videre har funksjonene I SQL, mange mennesker problemer med å forstå faktisk arbeidsfunksjon. FORDI SQL inneholder mye data i bulk i forskjellige database-og tabellnavn. En Funksjon er et lagret program i SQL Server-Databasen der du kan sende parametere inn og returnere en verdi. Så, jeg har gitt noe mer nyttig begrep om Arbeid Av Funksjoner.

  • Om
  • Siste Innlegg
Følg meg!

Databaseadministrator På Loginworks Softwares
jeg er en databaseadministrator som har ansvaret for å opprettholde integriteten og ytelsen til selskapets databaser. Jeg garanterer at dataene lagres sikkert og sikrer at alle brukere blir informert om eventuelle endringer i det samme. Bortsett fra å administrere all denne hoveddelen av teknologiske binærfiler, elsker jeg å nyte små ting i livet mitt. Jeg er en ivrig foodie som elsker å utforske overflod av spesialiteter våre kulturer tilbyr. Jeg er også i sport, spesielt cricket. Jeg sørger for at jeg aldri savner min helg morgen cricket kamper sammen med mine mangeårige venner. Jeg verne både min profesjonelle og personlige liv til det fulle.

Følg meg!

Siste innlegg Av Imran Saifi (se alle)
  • Forskjell MELLOM SQL Og MySQL-14. April 2020
  • hvordan jobbe Med Subquery I Data Mining-23. Mars 2018
  • hvordan bruke nettleserfunksjoner Av Javascript? – Mars 9, 2018

Write a Comment

Din e-postadresse vil ikke bli publisert.