SQL CHECK

SQL CHECK



DEFINICJA

CHECK to kolejne ograniczenie (CONSTRAINTS) które można nadać na kolumny w tabeli. Ogranicza ono zakres wartości które mogą się pojawić w kolumnie. Ograniczenie to możemy nałożyć na jedną kolumnę, wtedy ognicza ono wartości we wskazanej kolumnie lub nałożyć je na wiele kolumn. Ograniczenie CHECK możemy nadać w momencie tworzenia nowej tabeli lub na już istniejącej tabeli.


Przykład zastosowania CHECK przy tworzeniu nowej tabeli (SQL SERVER).

CREATE TABLE Pracownicy
(
ID_pracownik int NOT NULL CHECK (ID_pracownik >0)
,Imie varchar(20)
,Nazwisko varchar(50)
,Adres varchar(50)
,Email varchar(30)
,Telefon int
)


Przykład zastosowania CHECK przy tworzeniu nowej tabeli (MySQL).

CREATE TABLE Pracownicy
(
ID_pracownik int NOT NULL
,Imie varchar(20)
,Nazwisko varchar(50)
,Adres varchar(50)
,Email varchar(30)
,Telefon int
,CHECK (ID_pracownik > 0)
)


Ogranicznie CHECK możemy nadać już na istniejącą tabelę (kolumnę).

ALTER TABLE Pracownicy
ADD CHECK (ID_pracownik > 0)


SQL ALTER TABLE

SQL ALTER TABLE()



DEFINICJA

Polecenie ALTER TABLE służy do modyfikowania kolumn w  istniejących tabelach. Modyfikacja ta może polegać na dodaniu nowej kolumny, usunięciu istniejącej kolumny lub zmianie (np. typu danych) istniejącej kolumny. Za pomocą tego polecenie może także dodawać lub usuwać ograniczenia z kolumn w tabeli.


Przykład dodania nowej kolumny o nazwie „MiddleName” (o typie danych varchar) do tabeli o nazwie „Employees”
SQL SERVER baza: Northwind

ALTER TABLE
Employees
ADD
MiddleName varchar(10); 


Przykład modyfikacji, zmiany typu danych z varchar na int, na kolumnie „MiddleName” w tabeli „Employees”
SQL SERVER baza:Northwind

ALTER TABLE
Employees
ALTER COLUMN
MiddleName int;


Przykład usunięcia kolumny „MiddleName” z tabeli o nazwie „Employees” (baza: Northwind).
SQL SERVER baza: Northwind

ALTER TABLE
Employees
DROP COLUMN
MiddleName;


SQL AVG

SQL AVG



DEFINICJA

Funkcja AVG() zwraca wartość średnią z kolumny z wartościami liczbowymi.

SQL AVG() składnia.

SELECT
AVG(nazwa_kolumny_z_wartościami_liczbowymi)
FROM
nazwa_tabeli

 


Przykład zastosowania AVG() (baza Adventureworks)

Oblicz średnią wartość zamówień.

SELECT
 AVG(O.SubTotal) AS [Średnia wartość zamówień]
FROM
Sales.SalesOrderHeader O


Przykład zastosowania AVG() (baza Northwind)

Oblicz średnią wartość zamówień klienta o ID WALLI.

SELECT
AVG(SR.[Wartość zamówienia])
FROM(
SELECT
O.OrderID
,SUM(D.Quantity * D.UnitPrice) AS [Wartość zamówienia]
FROM
Orders O JOIN [Order Details] D
ON O.OrderID = D.OrderID
WHERE
O.CustomerID = ‚WELLI’
GROUP BY
O.OrderID        ) AS SR