×
Clear all filters including search bar
Valeri Tandilashvili's Personal Professional Blog
@mixin verticalGradient($fromColor, $toColor) {
background-color: $toColor;
background-image: -moz-linear-gradient(top, $fromColor, $toColor);
...
background-image: linear-gradient(to bottom, $fromColor, $toColor);
}
.btn-b {
@include verticalGradient(blue, red);
}
.btn-a {
background-color: lighten($beautifulHue, 45%);
}
a {
color: $beautifulHue;
}
@import 'header';
.btn-a {
...
headers
and expires
modules must be enabled on the server:sudo a2enmod headers
sudo a2enmod expires
After that the server must be restarted:service apache2 restart
Then it will work if .htaccess
contains the following:# for enabling browser caching
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
css-minify
package must be installed globally
npm install css-minify -g
Installing globally is necessary.
Before minify command is run, css-dist
directory must be created, where the output will be saved.
The command: css-minify -f css/d1.css
will minify the specified .css file..site-header nav {
ul {
padding: 0;
margin: 0;
}
li {
list-style: none;
float: left;
}
}
After Sass preprocessor:.site-header nav ul {
padding: 0;
margin: 0;
}
.site-header nav li {
list-style: none;
float: left;
}
$primaryColor: #ec7705;
a {
color: $primaryColor;
}
After Sass preprocessor:a {
color: #ec7705;
}
students
table (*
means - all fields)SELECT *
FROM students
Selects only first_name
and last_name
from students
table (fields are separated by comma ,
)SELECT first_name, last_name
FROM students
WHERE
clause in SELECT
statementSELECT first_name, last_name
FROM students
WHERE id = 5
WHERE
clause (combining several conditions with logical AND)SELECT *
FROM students
WHERE points > 75 AND last_name = 'გელაშვილი'
WHERE
clause (combining several conditions with logical OR)SELECT *
FROM students
WHERE last_name = 'გელაშვილი' OR last_name = 'გოგუაძე'
Logical OR with logical ANDSELECT *
FROM students
WHERE points > 75 AND (last_name = 'გელაშვილი' OR last_name = 'გოგუაძე')
ORDER BY
clause in SELECT
statementSELECT first_name, last_name
FROM students
ORDER BY id DESC
ORDER BY
last_name ascending
SELECT first_name, last_name
FROM students
ORDER BY last_name ASC
ASC
is optional because it's default value
ORDER BY
with several fieldsSELECT first_name, last_name
FROM students
ORDER BY last_name ASC, first_name ASC
ASC
SELECT
with some primitive valuesSELECT first_name, last_name, 20 AS age
FROM students
SELECT
with only primitive valuesSELECT 20, 40 AS age
FROM students
Math operations in SELECT
statementSELECT
first_name,
last_name,
points * 1.1 /* + - * / % */ AS points
FROM students
Math operations in WHERE
clauseSELECT *
FROM students
WHERE points * 1.5 >= 80
Order of the Math operations mattersSELECT
first_name,
last_name,
(points + 10) * 2 AS points
FROM students
Advantages of quotes in aliasSELECT
first_name,
last_name,
(points + 10) * 2 AS 'points calculated'
FROM students
DISTINCT
keyword in SELECT statementSELECT DISTINCT
first_name,
last_name
FROM students
GROUP BY
clause with several fields (results of the two queries are identical)SELECT
first_name,
last_name
FROM students
GROUP BY first_name, last_name
GROUP BY
clause with one field and COUNT()
functionSELECT
last_name,
COUNT(last_name)
FROM students
GROUP BY last_name
GROUP BY
and ORDER BY
clauses in one selectSELECT
last_name,
COUNT(last_name) last_name_counter
FROM students
GROUP BY last_name
ORDER BY last_name_counter DESC
LIMIT
clauseSELECT
last_name,
COUNT(last_name) last_name_counter
FROM students
GROUP BY last_name
ORDER BY last_name_counter DESC
LIMIT 2
LIMIT
clause for paginationSELECT
first_name
last_name
FROM students
ORDER BY points DESC
LIMIT 4, 2
Student with minimum pointsSELECT *
FROM students
ORDER BY points
LIMIT 1
Student with minimum points using MIN()
functionSELECT *
FROM students
WHERE points = (SELECT MIN(points) FROM students)
Student with maximum pointsSELECT *
FROM students
ORDER BY points DESC
LIMIT 1
Student with maximum points using MAX()
functionSELECT *
FROM students
WHERE points = (SELECT MAX(points) FROM students)
Average points grouped by lastnameSELECT
last_name,
AVG(points) average_points
FROM students
GROUP BY last_name
ORDER BY average_points DESC
Select all students with points greater than 70 (comparison operators: >
>=
<
<=
=
!=
<>
)SELECT *
FROM students
WHERE points > 70
Select all students with points less than or equal to 70 (using NOT logical operator)SELECT *
FROM students
WHERE NOT points > 70
Select all students with points between 80 and 90SELECT *
FROM students
WHERE points >= 80
AND points <= 90
Select all students with points between 80 and 90 (using BETWEEN AND operator)SELECT *
FROM students
WHERE points BETWEEN 80 AND 90
Select all students with points more than averageSELECT *
FROM students
WHERE points > (SELECT AVG(points) FROM students)
Select all students where lastname is either 'გელაშვილი' or 'გოგუაძე' with IN
operatorSELECT *
FROM students
WHERE last_name IN ('გელაშვილი', 'გოგუაძე')
Select all students which lastname is not any of the listed lastnames ('გელაშვილი', 'გოგუაძე') with NOT IN
operatorSELECT *
FROM students
WHERE last_name NOT IN ('გელაშვილი', 'გოგუაძე')
Select all students which lastname contains 'უა' with LIKE
operatorSELECT *
FROM students
WHERE last_name LIKE '%უა%'
Select all students which lastname
ends with 'უა' using LIKE
operatorSELECT *
FROM students
WHERE last_name LIKE '%უა'
Select all students which lastname
does not contain 'უა' with NOT LIKE
operatorSELECT *
FROM students
WHERE last_name NOT LIKE '%უა%'
Select all students where lastname
starts with any two character followed with უა
and we don't care what the other following symbols are (with _
)SELECT *
FROM students
WHERE last_name LIKE '__უა%'
Select all students where lastname
is exactly 5 characters long and the second symbol is უ
SELECT *
FROM students
WHERE last_name LIKE '_უ___'
Select all students where lastname
is exactly 5 characters, starts with a
and ends with y
and has exacly any three letters between themSELECT *
FROM students
WHERE last_name LIKE 'a___y'
Select all students where lastname
ends with either ძე
or შვილი
SELECT *
FROM students
WHERE last_name LIKE '%ძე' OR last_name LIKE '%შვილი'
Select all students where last_name
contains უა
with REGEXP
operatorSELECT *
FROM students
WHERE last_name REGEXP 'უა'
Select all students where last_name
starts with გე
with REGEXP
operatorSELECT *
FROM students
WHERE last_name REGEXP '^გე'
Select all students where last_name
ends with უა
with REGEXP
operatorSELECT *
FROM students
WHERE last_name REGEXP 'უა$'
Select all students where last_name
contains უა
or ია
SELECT *
FROM students
WHERE last_name REGEXP 'უა|ია'
Select all students where last_name
contains უა
or ია
using square brackets SELECT *
FROM students
WHERE last_name REGEXP '[იუ]ა'
Select all students where last_name
ends with any one letter from the range [ა-უ]
followed by ა
using square brackets with rangeSELECT *
FROM students
WHERE last_name REGEXP '[ა-უ]ა$'
Select all students where last_name
contains ვა
or ends with ია
or starts with ცი
SELECT *
FROM students
WHERE last_name REGEXP '^ცი|ია$|ვა'
Select all students which has no mail with IS NULL
operatorSELECT *
FROM students
WHERE mail IS NULL
OR mail = ''
Select all students which has no mail using IFNULL()
functionSELECT *
FROM students
WHERE IFNULL(mail, '') = ''
Select all students which has mail using IS NOT NULL
operatorSELECT *
FROM students
WHERE mail IS NOT NULL
AND mail != ''
Select all students which has mail using NULLIF()
functionSELECT *
FROM students
WHERE NULLIF(mail, '') IS NOT NULL
Select notes with author names (using INNER JOIN)SELECT students.first_name, notes.*
FROM `students`
JOIN notes ON notes.student_id = students.id
Select notes with author names (from students using LEFT JOIN)SELECT students.first_name, notes.*
FROM `students`
LEFT JOIN notes ON notes.student_id = students.id
Select notes with author names (from students using RIGHT JOIN)SELECT
students.first_name,
notes.*
FROM `notes`
RIGHT JOIN students ON notes.student_id = students.id
Select notes with author names (from students using LEFT JOIN)SELECT students.first_name, notes.*
FROM `students`
LEFT JOIN notes ON notes.student_id = students.id
WHERE notes.id > 0
Select notes with author names (from notes)SELECT students.first_name, notes.*
FROM `notes`
LEFT JOIN students ON notes.student_id = students.id
WHERE notes.id > 0
Select only students with notes (using INNER JOIN)SELECT students.*, COUNT(students.id) notes_count
FROM `students`
JOIN notes ON notes.student_id = students.id
GROUP BY students.id
ORDER BY notes_count DESC
Selects only students with notes (using LEFT JOIN and HAVING) SELECT students.*, COUNT(notes.id) notes_count
FROM `students`
LEFT JOIN notes ON notes.student_id = students.id
GROUP BY students.id
HAVING notes_count > 0
ORDER BY notes_count DESC
LIMIT 2
Select popular notes with its authors and likes countsSELECT
students.first_name,
notes.id AS note_id,
notes.note,
COUNT(note_likes.id) AS likes_count
FROM `notes`
JOIN students ON notes.student_id = students.id
LEFT JOIN note_likes ON note_likes.note_id = notes.id
GROUP BY notes.id
ORDER BY likes_count DESC
Select only liked notesSELECT
students.first_name,
notes.id AS note_id,
notes.note,
COUNT(note_likes.id) AS likes_count
FROM `notes`
JOIN students ON notes.student_id = students.id
JOIN note_likes ON note_likes.note_id = notes.id
GROUP BY notes.id
ORDER BY likes_count DESC
Select only liked notes (without JOIN keywords)SELECT
students.first_name,
notes.id AS note_id,
notes.note,
COUNT(note_likes.id) AS likes_count
FROM `notes`, students, note_likes
WHERE notes.student_id = students.id
AND note_likes.note_id = notes.id
GROUP BY notes.id
ORDER BY likes_count DESC
Select liked notes with likes counts and authors (using sub-query)SELECT
students.first_name,
note_id,
notes.note,
liked_notes.likes_count
FROM (
SELECT
note_likes.note_id AS note_id,
COUNT(note_likes.id) AS likes_count
FROM note_likes
GROUP BY note_likes.note_id
) AS `liked_notes`
JOIN notes ON liked_notes.note_id = notes.id
JOIN students ON notes.student_id = students.id
ORDER BY likes_count DESC