Selectați și din clauzele

Partea SELECT a unei interogări este în mod normal pentru a determina ce coloane din date să se afișeze în rezultate. Există, de asemenea, opțiuni pe care le puteți aplica pentru a afișa date care nu sunt o coloană de tabel.

Acest exemplu prezintă trei coloane selectate din tabelul „student” și o coloană calculată. Baza de date stochează studentID, prenume și prenume ale studentului. Putem combina coloanele Prenume și Numele de familie pentru a crea coloana calculată FullName.

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)

* La fel ca în toate aceste lucruri SQL, există MULTE MULT pentru ele decât cele din acest ghid introductiv.

Sper că acest lucru vă oferă cel puțin suficient pentru a începe.

Vă rugăm să consultați manualul pentru managerul de baze de date și distrați-vă încercând singuri diferite opțiuni.

ad-banner

Instrucțiune distinctă SQL Select

Introducere

Acest cuvânt cheie ne permite să obținem liste de valori unice într-o coloană. Acest ghid va demonstra asta.

Afișarea completă a datelor în tabelul elevului

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)

Obțineți lista domeniilor de studiu

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

La fel ca în toate aceste lucruri SQL, există MULTE MULT pentru ele decât ceea ce este în acest ghid introductiv.

Sper că acest lucru vă oferă cel puțin suficient pentru a începe.

Vă rugăm să consultați manualul pentru managerul de baze de date și distrați-vă încercând singuri diferite opțiuni.

SQL Select în Declarație

SELECT INTO statement este o interogare care vă permite să creați un fișier nou tabel și populează-l cu setul de rezultate al unui SELECT statement. Pentru a adăuga date într-un tabel existent, consultați fișierul INTRODU IN declarație în schimb.

SELECT INTO poate fi utilizat atunci când combinați date din mai multe tabele sau vizualizări într-un tabel nou.1 Tabelul original nu este afectat.

Sintaxa generală este:

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

Acest exemplu arată un set al unui tabel care a fost „copiat” din tabelul „Furnizor” într-unul nou numit SupplierUSA care deține setul aferent coloanei țării de valoare „SUA”.

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

Rezultate: 4 rânduri afectate 2

IDCompanyNameContactNameCityCountryPhone2New Orleans Cajun DelightsShelley BurkeNew OrleansUSA (100) 555-48223Grandma Kelly’s HomesteadRegina MurphyAnn ArborUSA (313) 555-573516Bigfoot BreweriesCheryl SaylorBendUSAN19

Vă rugăm să consultați manualul pentru managerul de baze de date și să vă distrați încercând singur opțiuni diferite.

SQL Insert în Declarație

Pentru a insera o înregistrare într-un tabel, utilizați INSERT INTO afirmație.

Puteți face acest lucru în două moduri, dacă doriți să inserați valori numai în unele coloane, trebuie să le enumerați numele, inclusiv toate coloanele obligatorii. Sintaxa este:

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

Cealaltă modalitate este inserarea valorilor în toate coloanele din tabel, nu este necesar să specificați numele coloanelor. Sintaxa este:

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

Iată un exemplu de inserare a unei înregistrări în tabelul Persoană în ambele moduri:

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

Unele versiuni SQL (de exemplu, MySQL) acceptă inserarea mai multor rânduri simultan. De exemplu:

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

Rețineți că întreaga interogare originală rămâne intactă – adăugăm simplu pe rândurile de date codificate prin paranteză și separate prin virgule.

SQL Insert în Instrucțiunea Select

Puteți insera înregistrări într-un tabel folosind date care sunt deja stocate în baza de date. Aceasta este doar o copie a datelor și nu afectează tabelul de origine.

INSERT INTO SELECT declarație combină INSERT INTO și SELECT declarații și puteți utiliza orice condiții doriți. Sintaxa este:

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

Iată un exemplu care introduce în tabelul Persoană toți elevii de sex masculin din tabelul Studenți.

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

Alte resurse SQL:

  • Curs video complet SQL și baze de date
  • Comenzi SQL de bază pe care ar trebui să le cunoașteți