SQL Select-udsagn: Eksempler på Select Distinct, Select Into, Insert in og More

Vælg og fra klausuler

SELECT-delen af ​​en forespørgsel er normalt at bestemme, hvilke kolonner af data der skal vises i resultaterne. Der er også muligheder, du kan anvende til at vise data, der ikke er en tabelkolonne.

Dette eksempel viser tre kolonner valgt fra "student" -tabellen og en beregnet kolonne. Databasen gemmer studentens id, fornavn og efternavn for studerende. Vi kan kombinere kolonnerne Første og Efternavn for at oprette den beregnede kolonne Fuldnavn.

select studentID, FirstName, LastName, FirstName + ' ' + LastName as FullName from student;
+-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec)

* Som med alle disse SQL-ting er der MEGET MERE til dem end hvad der er i denne introduktionsvejledning.

Jeg håber, at dette i det mindste giver dig nok til at komme i gang.

Se vejledningen til din databaseadministrator og have det sjovt selv at prøve forskellige muligheder.

SQL Select Distinct Statement

Introduktion

Dette nøgleord giver os mulighed for at få lister over unikke værdier i en kolonne. Denne guide vil demonstrere det.

Fuld visning af dataene i elevtabellen

USE fcc_sql_guides_database; SELECT studentID, FullName, sat_score, programOfStudy, rcd_Created, rcd_Updated FROM student;
+-----------+------------------------+-----------+------------------+---------------------+---------------------+ | studentID | FullName | sat_score | programOfStudy | rcd_Created | rcd_Updated | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ | 1 | Monique Davis | 400 | Literature | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ 9 rows in set (0.00 sec)

Få en liste over studieretninger

SELECT DISTINCT programOfStudy FROM student;
+------------------+ | programOfStudy | +------------------+ | Literature | | Programming | | Computer Science | +------------------+ 3 rows in set (0.00 sec)

Som med alle disse SQL-ting er der MEGET MERE til dem end hvad der er i denne introduktionsvejledning.

Jeg håber, at dette i det mindste giver dig nok til at komme i gang.

Se vejledningen til din databaseadministrator og have det sjovt selv at prøve forskellige muligheder.

SQL Select into Statement

Den SELECT INTOerklæring er en forespørgsel, der tillader dig at oprette en ny tabel og befolke den med det resultat sæt af en SELECT statement. Hvis du vil føje data til en eksisterende tabel, skal du se INSERT INTO-sætningen i stedet.

SELECT INTO kan bruges, når du kombinerer data fra flere tabeller eller visninger til en ny tabel.1 Den oprindelige tabel er ikke berørt.

Den generelle syntaks er:

SELECT column-names INTO new-table-name FROM table-name WHERE EXISTS (SELECT column-name FROM table-name WHERE condition)

Dette eksempel viser et sæt af en tabel, der blev "kopieret" fra "leverandør" -tabellen til en ny, kaldet SupplierUSA, der indeholder sættet relateret til kolonnelandet med værdien 'USA'.

SELECT * INTO SupplierUSA FROM Supplier WHERE Country = 'USA';

Resultater : 4 rækker berørt 2

IDCompanyNameContactNameCityCountryTelefon2New Orleans Cajun DelightsShelley BurkeNew OrleansUSA (100) 555-48223Bedstemor Kelly's HomesteadRegina MurphyAnn ArborUSA (313) 555-573516Bigfoot BreweriesCheryl SaylorBendUSANULL19New England Seafood CanneryRestaurant

Se vejledningen til din databaseadministrator og have det sjovt selv at prøve forskellige muligheder.

SQL indsættes i erklæring

For at indsætte en post i en tabel bruger du INSERT INTOudsagnet.

Du kan gøre det på to måder, hvis du kun vil indsætte værdier i nogle kolonner, skal du angive deres navne inklusive alle obligatoriske kolonner. Syntaksen er:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

Den anden måde er at indsætte værdier i alle kolonner i tabellen, det er ikke nødvendigt at specificere kolonnernes navne. Syntaksen er:

INSERT INTO table_name VALUES (value1, value2, value3, ...);

Her er et eksempel på, hvordan du indsætter en post i tabellen Person på begge måder:

INSERT INTO Person VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Og

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Nogle SQL-versioner (f.eks. MySQL) understøtter indsættelse af flere rækker på én gang. For eksempel:

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’), (2, ‘Paul McCartney’, ‘1942-06-18’, ‘M’), (3, ‘George Harrison’, ‘1943-02-25’, ‘M’), (4, ‘Ringo Starr’, ‘1940-07-07’, ‘M’)

Bemærk, at hele den originale forespørgsel forbliver intakt - vi tilføjer simpelt på datarækker indkodet af paranthese og adskilt af kommaer.

SQL indsættes i Select Statement

Du kan indsætte poster i en tabel ved hjælp af data, der allerede er gemt i databasen. Dette er kun en kopi af data, og det påvirker ikke oprindelsestabellen.

De INSERT INTO SELECTerklæring kombinerer INSERT INTOog SELECTerklæringer og du kan bruge alle betingelser, du ønsker. Syntaksen er:

INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;

Her er et eksempel, der indsætter i tabellen Personer alle de mandlige studerende fra bordet Studerende.

INSERT INTO Person(Id, Name, DateOfBirth, Gender) SELECT Id, Name, DateOfBirth, Gender FROM Students WHERE Gender = ‘M’

Andre SQL-ressourcer:

  • SQL og databaser fuldt videokursus
  • Grundlæggende SQL-kommandoer, du bør kende