Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------------------------------------
- -----------------------TRADECOMPANY ---------------------------
- ---------------------------------------------------------------
- --Демо:
- --Въведи по един запис във всяка от таблиците
- --Демо:
- --Промяна на заплатата на служител с даден идентификатор:
- --Демо:
- --Поръчката е анулирана - изтрий реда и от таблицата ORDERS:
- /*Задача 3-1.
- Да се изтрият всички редове от всички таблици в базата от данни, след което да
- се въведат данните чрез командите от inserts_mssql.sql файла. */
- /*Задача 3-2.
- Да се увеличи количеството с 2 броя на
- продукт с идентификатор 2254 в поръчка с идентификатор 2354.*/
- --Задача 3-3.
- --Да се изтрие служител с идентификатор 183.
- -------------------------------------------------------------------------------------------
- --Пример 4-1.
- --Да се изведат имената, датите на назначаване и заплатите на всички служители.
- /*Пример 4-2.
- Да се изведат всички данни за продуктите, с цена по-голяма от 2000. Резултатът
- нека бъде подреден по цена на продукт възходящо.*/
- --Пример 4-3.
- --Да се изведе броя на всички служители.
- --Пример 4-4.
- --Да се изведе броя служители, групирани по отдела, в който работят.
- -------------------------------------------------------------------------------------------
- --Задача 4-1.
- --Да се изведат имената, заплатите и идентификаторите на длъжностите на
- --служителите, работещи в отдели 50 и 80. Резултатът да е подреден по фамилия на служител във възходящ ред.
- --Задача 4-2.
- --Да се изведат общата сума на заплатите и броя служители в отдел 60.
- --Задача 4-3.
- --За всички поръчки да се изведат идентификатор на поръчка и обща стойност на
- --поръчката. Резултатът да е подреден по стойност на поръчката в низходящ ред.
- -------------------------------------------------------------------------------------------
- -------------------------------------Set operators-----------------------------------------
- --Условия:
- --Броят на колоните във всички заявки трябва да бъде еднакъв;
- --Колоните трябва да бъдат от съвместими типове от данни.
- ---------------------------------------UNION ----------------------------------------------
- /* Резултатни набори, които се обединяват. В целия израз може да присъства само една клауза ,
- ORDER BY накрая сортираща обединения резултат. */
- --Пример 4-5.
- --Да се изведат идентификаторите на държавите, в които има клиенти или отдели на фирмата.
- --Пример 4-6.
- --Да се изведат идентификаторите на държавите, в които има клиенти или отдели на фирмата.
- --Нека в резултатния набор участват и дублиращите се записи.
- /*Задача 4-4.
- Да се изведат всички малки имена на клиенти и служители с евентуалните
- повторения, сортирани в низходящ ред по име. */
- /*Задача 4-5.
- Да се изведат име и фамилия на клиенти и служители без повторения, а като
- трета колона за клиентите да се използва израз, генериращ низа „Клиент
- (<идентификатор>)“, за служителите – „Служител (<идентификатор>)“. */
- ----------------------------------INTERSECT(сечение)---------------------------------------
- /*Резултатът съдържа общите за двата резултатни набора редове, без дубликати.
- Пример 4-7.
- Да се изведат id на държавите, в които има клиенти и отдели на фирмата едновременно.*/
- --Задача 4-6.
- --Да се изведат общите собствени имена на клиенти и служители.
- ----------------------------------EXCEPT---------------------------------------------------
- /*връща редовете, върнати от първата заявка, които не се срещат измежду редове от втората. */
- --Пример 4-8.
- --Изведи id на държавите, в които има клиенти и в същото време няма отдели на фирмата.
- /*Задача 4-7.
- Да се изведат собствени имена на клиенти, които не се срещат сред тези на служители.*/
- -------------------------------------------------------------------------------------------
- ------------------------------------ JOIN -------------------------------------------------
- --JOIN се използва за извличане на данни от две или повече таблици, като редовете им се
- --комбинират чрез логическа връзка между таблиците, която може да бъде във FROM или WHERE.
- --Обикновено тази връзка е първичен/външен ключ, но не задължително.
- -----------------------------------------------------------------------------------------
- -----------------------------INNER JOIN или просто JOIN----------------------------------
- -----------------------------------------------------------------------------------------
- --Извеждат редовете от две/повече таблици, които имат съвпадащи стойности в колоните,
- --посочени в условието за сравнение.
- --Пример 4-10.
- -- Да се изведат държавите и регионите, в които се намират.
- --Пример 4-11.
- -- Изведи имена на клиенти, имена на държавите от които са, и имена на регионите на държавите.
- -----------------------------------------------------------------------------------------
- -------------------------------Видове OUTER JOIN-----------------------------------------
- -----------------------------------------------------------------------------------------
- --Пример 4-12.
- -- Да се изведат регионите и държавите, които се намират в тях. Резултатният
- -- набор да включва и регионите, в които няма въведени държави.
- --Пример 4-13.
- -- Да се изведат държавите и регионите, в които се намират.
- -- Резултатния набор да включва държавите, за които няма въведен регион.
- /*Пример 4-14.
- Да се изведат държавите и регионите, в които се намират.
- Резултатния набор да включва държавите, за които няма въведен регион и регионите,
- за които няма въведени държави.*/
- -----------------------------------------------------------------------------------------
- ----------------------------4.6.6. Други JOIN вариации---------------------------------
- -----------------------------------------------------------------------------------------
- /*Пример 4-16.
- Да се изведат отделите, в които има назначени служители.*/
- --Пример 4-17.
- -- Да се изведат имената на клиентите, които все още не са правили поръчки.
- --Пример 4-18.
- -- Да се изведат комбинациите от всички региони и държави, сортирани поиме на държава.
- --Задача 4-8.
- -- Извлечи идентификатори, дати на поръчките и имена на служители, които са ги обработили.
- --Задача 4-9.
- -- Да се изведат имената на всички клиенти и id на поръчките им.
- -- В резултатния набор да участват и клиентите, които все още не са правили поръчки.
- --Задача 4-11.
- -- Да се изведат имената на всички клиенти, които са от държави в регион „Западна Европа“
- -----------------------------------------------------------------------------------------
- ---------------------------------4.7.1. TOP ---------------------------------------------
- -- TOP връща първите N реда в неопределен ред, за желаната подредба използваме ORDER BY!
- -----------------------------------------------------------------------------------------
- -- Пример 4-19.
- -- 7-те продукта с най-ниска цена.
- --Задача 01
- --Изведи имента на клиентите, които са от 'DE', но не са правили поръчки до момента
- -----------------------------------------------------------------------------------------
- ---------------------------------4.7.2. OFFSET и FETCH ----------------------------------
- -----------------------------------------------------------------------------------------
- /* Пример 4-21.
- петимата служители, започвайки от 10-ти ред, подредени по дата на постъпване.
- Първата заявка ще покаже всички за демонстрация, втората ще извърши подбора.*/
- /*Задача 4-12.
- вторите 10 най-добре платени служители (подредени по заплата низходящо).*/
- /* Задача 4-13.
- Да се изведат име, фамилия и пол на клиентите, направили последните 5 поръчки.*/
- ----------------------------------------------------------------------------------------
- -----------------------------Изгледи = Views--------------------------------------------
- -----------------------------Създаване на изгледи---------------------------------------
- --Пример 5-1.
- --Да се създаде изглед, който съдържа име и фамилия на клиентите, както и
- --номер и дата на поръчките, които те са направили.
- -----------------------------Промяна на изгледи-----------------------------------------
- --Пример 5-2.
- --Да се модифицира горният изглед така, че да съдържа и колона с името на
- --съответния служител, обработил поръчката.
- -- Пример 5-3.
- -- Да се модифицира горния изглед така, че да съдържа само поръчките,
- -- обработени от служител с идентификатор = 167.
- -- Пример 5-4.
- -- Да се създаде изглед, съдържащ име и фамилия на служител и общата сума
- -- на поръчките, които той е обработил.
- -- Пример 5-5.
- -- Да се създаде изглед, който съдържа имена, отдел и заплата на 5-мата
- -- служители с най-висока заплата. За да бъдат извлечени служителите,
- -- подредени по заплата, очевидно ще трябва да бъдат сортирани по този критерий.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement