diff --git a/tech/sql.wiki b/tech/sql.wiki index a873a2f..ec3b5cb 100644 --- a/tech/sql.wiki +++ b/tech/sql.wiki @@ -3,6 +3,39 @@ Stuctered Query Language is a language that describes a method of fetching and describing the relationship between different types of data +== Filtering data == + +To filter data we by some specifiers we use the `WHERE` clause. The where +clause can filter based on the default comparison operators. It can also do +string comparisons. + +This system also works with dates, where all dates are in format `YYYY-MM-DD`. + +=== IN === + +To see if an attribute is in a set we can use the `IN` keyword in conjunction +with a `WHERE` statement. For example, +`SELECT * FROM holidays WHERE Country IN ('spain', 'portugaul', 'USA');` + +=== NOT === + +The `NOT` keyword can be placed before a conditional to specify that we want +everything that does NOT mean that condition. + +=== LIKE === + +`LIKE` lets us filter on patterns. We can use the character `%` to specify a +wildcard, for any number of characters. We can use the character `_` to give an +exact number of wildcard characters we are looking for. For example, + +`SELECT * FROM Bands WHERE BandName LIKE '%light%';` + +will return all bands with the string 'light' in their name. + +=== DISTINCT === + +`DISTINCT` filters results by only returning unique values in a column + == Views == A view can be created with the following command @@ -26,6 +59,9 @@ WHERE Price > (SELECT AVG(Price) FROM Products) SELECT * FROM [Prodcuts above average price] }}} +Views *can* be inserted into, you simply must specify the columns being +inserted into. + == Acess control commands == Two commands for managing access rights