Minion Blog
http://anisoft.cloudvps.bg/blog/
SELECT * FROM Departments |
SELECT Name FROM Departments |
SELECT CONCAT(FirstName, ' ', LastName) FullName FROM Employees |
SELECT DISTINCT Salary FROM Employees |
SELECT * FROM Employees eWHERE JobTitle = 'Sales Representative' |
SELECT FirstName, LastName FROM EmployeesWHERE LastName like '%ei%' |
SELECT Salary FROM Employees eWHERE Salary BETWEEN 20000 AND 30000 |
SELECT FirstName, LastName FROM EmployeesWHERE Salary IN (25000, 14000, 12500, 23600) |
SELECT FirstName, LastName, Salary FROM EmployeesWHERE Salary > 50000ORDER BY Salary DESC |
SELECT TOP 5 FirstName, LastName, Salary FROM EmployeesWHERE Salary > 50000ORDER BY Salary DESC |
SELECT FirstName, LastName, AddressTextFROM Employees eJOIN Addresses aON e.AddressID = a.AddressID |
or
SELECT FirstName, LastName, AddressTextFROM Employees e, Addresses aWHERE e.AddressID = a.AddressID |
SELECT CONCAT(e.FirstName, ' ', e.LastName) AS FullName, CONCAT(m.FirstName, ' ', m.LastName) ManagerFullName, a.AddressTextFROM Employees eJOIN Employees mon e.ManagerID = m.EmployeeIDJOIN Addresses aon e.AddressID = a.AddressID |
SELECT CONCAT(FirstName, ' ', LastName) AS FullName, SalaryFROM EmployeesWHERE Salary = (SELECT MIN(Salary) FROM Employees) |
We have one join and where for salary equal to min salary by departments
SELECT CONCAT(FirstName, ' ', LastName) AS FullName, Salary, d.NameFROM Employees e JOIN Departments dON d.DepartmentID = e.DepartmentIDWHERE Salary = (SELECT MIN(Salary) FROM Employees WHERE DepartmentID = e.DepartmentID) order by d.Name |
SELECT AVG(Salary) [Avarage Salary] FROM Employees eJOIN Departments dON e.DepartmentID = d.DepartmentIDWHERE d.Name = 'Sales' |
SELECT COUNT(*) [Count Employees]FROM Employees eWHERE ManagerID IS NOT NULL |
When we have aggregate function and colum we must group records by column name.
SELECT d.Name [Department], AVG(Salary) [Avarage Salary]FROM Employees eJOIN Departments dON e.DepartmentID = d.DepartmentIDGROUP BY d.Name |
When we have grouping and must filter by something we use HAVING.
SELECT CONCAT(e.FirstName, ' ', e.LastName) ManagerName, COUNT(*) [Count Employees] FROM Employees e JOIN Employees em ON em.ManagerID = e.EmployeeID GROUP BY e.FirstName, e.LastName HAVING COUNT(*) = 5 |
or
we can create temporary table it nested select and make where on it
SELECT * FROM (SELECT CONCAT(e.FirstName, ' ', e.LastName) ManagerName, COUNT(*) [Count Employees] FROM Employees e JOIN Employees em ON em.ManagerID = e.EmployeeID GROUP BY e.FirstName, e.LastName) AS ManagersWHERE Managers.[Count Employees] = 5 |
We must use if statement in sql this is (case -> then -> else).
SELECT CONCAT(e.FirstName, ' ', e.LastName) AS FullName, CASE WHEN CONCAT(m.FirstName, ' ', m.LastName) <> ' ' THEN CONCAT(m.FirstName, ' ', m.LastName) ELSE 'no manager' END AS ManagerFullNameFROM Employees eLEFT JOIN Employees mon e.ManagerID = m.EmployeeID |
SELECT CONCAT(e.FirstName, ' ', e.LastName) ManagerName FROM Employees e WHERE LEN(e.LastName) = 5 |
The format must be given with numbers.
SELECT CONCAT( CONVERT(varchar, GETDATE(), 104), ' ', CONVERT(varchar, GETDATE(), 114)) |
He calls himself a Code Hunter.
He constantly leads battles with his new and old enemies the CODES.
His final aim is to become Master Developer.
He uses hidden weapons against evil Bugs and crafty Codes to win this hard battle.
The most powerful weapon is his Motivation to keep on and to WIN in the End.
Variant 1: JavaScript Class Generator
Example:
Input Fields: x – number, y – number, isMale – bool, name – string
Variant 2: JavaScript Class Generator
Play Game Ice Racing