Изјаве за СКЛ одабир: Примери одабира разликовања, одабира у, уметање у и још много тога

Изаберите и Од клаузуле

Део упита СЕЛЕЦТ је обично одређивање колона података које ће се приказати у резултатима. Постоје и опције које можете да примените за приказивање података који нису колона табеле.

Овај пример приказује три колоне одабране из табеле „студент“ и једну израчунату колону. База података чува студентИД, ФирстНаме и ЛастНаме ученика. Можемо да комбинујемо колоне Име и Презиме да бисмо створили израчунати ступац Пуно име.

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)

* Као и код свих ових СКЛ ствари и за њих постоји ПУНО ВИШЕ од онога што је у овом уводном водичу.

Надам се да вам ово барем даје довољно да започнете.

Погледајте приручник за ваш менаџер база података и забавите се сами испробавајући различите опције.

СКЛ Селецт Дистинцт Статемент

Увод

Ова кључна реч омогућава нам да у колони добијемо листе јединствених вредности. Овај водич ће то показати.

Потпуни приказ података у студентској табели

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)

Набавите списак поља студија

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

Као и код свих ових СКЛ ствари, и њима је ПУНО ВИШЕ од онога што је у овом уводном водичу.

Надам се да вам ово барем даје довољно да започнете.

Погледајте приручник за ваш менаџер база података и забавите се сами испробавајући различите опције.

СКЛ Изаберите у изјаву

SELECT INTOИзјава је упит који вам омогућава да креирате нову табелу и попуните га са резултатом сету SELECT statement. Да бисте додали податке у постојећу табелу, погледајте уместо тога ИНСЕРТ ИНТО.

SELECT INTO може се користити када комбинујете податке из неколико табела или погледа у нову табелу.1 То не утиче на оригиналну табелу.

Општа синтакса је:

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

Овај пример приказује скуп табеле која је „копирана“ из табеле „Добављач“ у нову под називом Добављач САД која садржи скуп који се односи на земљу колоне вредности „САД“.

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

Резултати : 4 реда погођена 2

ИДЦомпаниНамеЦонтацтНамеЦитиЦоунтриПхоне2Нев Орлеанс Цајун ДелигхтсСхеллеи БуркеНев ОрлеансУСА (100) 555-48223Гранда Келли'с ХоместеадРегина МурпхиАнн АрборУСА (313) 555-573516Бигфоот БревериесЦхерил СаилорБонерУСБ

Погледајте приручник за ваш менаџер база података и забавите се сами испробавајући различите опције.

СКЛ уметање у изјаву

За уметање записа у табелу користите INSERT INTOизјаву.

То можете учинити на два начина, ако желите да уметнете вредности само у неке колоне, морате навести њихова имена укључујући све обавезне колоне. Синтакса је:

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

Други начин је уметање вредности у све колоне у табели, није потребно навести имена колона. Синтакса је:

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

Ево примера убацивања записа у табелу Особа на оба начина:

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

И

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

Неке верзије СКЛ-а (на пример, МиСКЛ) подржавају уметање више редова одједном. На пример:

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

Имајте на уму да читав оригинални упит остаје нетакнут - ми једноставно додајемо редове података који су затворени паразитом и одвојени зарезима.

СКЛ уметање у Селецт Статемент

Записе можете убацити у табелу користећи податке који су већ ускладиштени у бази података. Ово је само копија података и не утиче на изворну табелу.

У INSERT INTO SELECTИзјава комбинује INSERT INTOи SELECTизјаве и можете користити никакве услове које желите. Синтакса је:

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

Ево примера који у табелу убацује све студенте из табеле Студенти.

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

Остали СКЛ ресурси:

  • Комплетни видео курс за СКЛ и базе података
  • Основне СКЛ наредбе које бисте требали знати