Izjave za SQL odabir: Primjeri Select Distinct, Select Into, Insert into i More

Odaberite klauzule i From

Dio upita SELECT obično određuje koje će stupce podataka prikazati u rezultatima. Postoje i opcije koje možete primijeniti za prikaz podataka koji nisu stupac tablice.

Ovaj primjer prikazuje tri stupca odabrana iz tablice "student" i jedan izračunati stupac. Baza podataka pohranjuje studentID, FirstName i LastName učenika. Možemo kombinirati stupce Ime i Prezime kako bismo stvorili izračunat stupac Puno ime.

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)

* Kao i kod svih ovih SQL stvari, i njima je PUNO VIŠE od onoga u ovom uvodnom vodiču.

Nadam se da vam ovo barem daje dovoljno za početak.

Pogledajte priručnik za vaš upravitelj baze podataka i zabavite se sami isprobavajući različite opcije.

SQL Select Distinct Statement

Uvod

Ova nam ključna riječ omogućuje da u stupcu dobijemo popis jedinstvenih vrijednosti. Ovaj će vodič to pokazati.

Potpuni prikaz podataka u studentskoj tablici

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)

Nabavite popis područja studija

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

Kao i kod svih ovih SQL stvari, i njima je PUNO VIŠE od onoga što je u ovom uvodnom vodiču.

Nadam se da vam ovo barem daje dovoljno za početak.

Pogledajte priručnik za vaš upravitelj baze podataka i zabavite se sami isprobavajući različite opcije.

SQL Odaberite u izjavu

SELECT INTOIzjava je upit koji vam omogućuje da stvorite nove tablice i naseliti ga sa skupa rezultat SELECT statement. Da biste dodali podatke u postojeću tablicu, umjesto toga pogledajte izraz INSERT INTO.

SELECT INTO može se koristiti kada kombinirate podatke iz nekoliko tablica ili pogleda u novu tablicu.1 To ne utječe na izvornu tablicu.

Općenita sintaksa je:

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

Ovaj primjer prikazuje skup tablice koji je "kopiran" iz tablice "Dobavljač" u novu koja se zove SupplierUSA koja sadrži skup koji se odnosi na zemlju stupca vrijednosti 'SAD'.

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

Rezultati : 4 pogođena retka 2

IDCompanyNameContactNameCityCountryPhone2New Orleans Cajun oduševljavaShelley BurkeNew OrleansUSA (100) 555-48223Grandma Kelly's HomesteadRegina MurphyAnn ArborUSA (313) 555-573516Bigfoot BreweriesCheryl SaylorBonerUSB

Pogledajte priručnik za vaš upravitelj baze podataka i zabavite se sami isprobavajući različite opcije.

SQL umetanje u izjavu

Za umetanje zapisa u tablicu koristite se INSERT INTOizjavom.

To možete učiniti na dva načina, ako želite umetnuti vrijednosti samo u neke stupce, morate navesti njihova imena, uključujući sve obvezne stupce. Sintaksa je:

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

Drugi način je umetanje vrijednosti u sve stupce u tablici, nije potrebno navesti imena stupaca. Sintaksa je:

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

Evo primjera umetanja zapisa u tablicu Osoba na oba načina:

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

I

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

Neke verzije SQL-a (na primjer, MySQL) podržavaju umetanje više redaka odjednom. Na primjer:

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’)

Imajte na umu da cijeli izvorni upit ostaje netaknut - mi jednostavno dodajemo retke podataka koji su zatvoreni parazitom i odvojeni zarezima.

SQL umetanje u Select Statement

U tablicu možete umetnuti zapise koristeći podatke koji su već pohranjeni u bazi podataka. Ovo je samo kopija podataka i ne utječe na izvornu tablicu.

Na INSERT INTO SELECTizjavu kombinira INSERT INTOi SELECTizjave i možete koristiti sve uvjete koje želite. Sintaksa je:

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

Evo primjera koji u tablicu Osoba ubacuje sve studente iz tablice Studenti.

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

Other SQL resources:

  • SQL and Databases full video course
  • Basic SQL commands you should know