Zwischenstand

This commit is contained in:
Max W. 2025-01-26 13:19:18 +01:00
parent 20a40bd225
commit 0eae775942
3 changed files with 124 additions and 3 deletions

View File

@ -1,10 +1,17 @@
# Daten abfragen
1. Bei Suche nach Daten, die Daten immer in `` ` `` Quotes setzen. Sonst werden die Spalten miteinander verglichen.
2. MySQL ignoriert Groß- und Kleinschreibung und Ä = A, Ö = O, Ü = U.
3. Wenn auf distinct mehrere Spalten folgen, dann wird die Kombination der Spalten als einzigartig betrachtet.
4. `WHERE firstname = 'Anne' OR firstname = 'Peter'` kann durch `WHERE firstname IN ('Anne', 'Peter')` ersetzt werden.
5. `WHERE age BETWEEN 20 AND 30` gibt alle Werte zurück, wo das Alter zwischen 20 und 30 liegt.
# Syntax
`SELECT COUNT(*)` Zählt die Anzahl der Zeilen in einer Tabelle.
`SELECT DISTINCT ` Gibt nur einzigartige Werte zurück.
`SELECT * FROM table WHERE column LIKE 'a%'` Gibt alle Werte zurück, die mit 'a' beginnen.
`SELECT * FROM table WHERE age BETWEEN 20 AND 30` Gibt alle Werte zurück, wo das Alter zwischen 20 und 30 liegt. (Inklusive 20 und 30)

View File

@ -0,0 +1,99 @@
select *
from customers
where email like '%@gmail.com';
select *
from customers
where email like '%@web.de';
select *
from customers
where email like '%@web.de'
or email like '%@gmail.com';
select distinct SUBSTRING_INDEX(email, '@', -1) as domain
from customers;
# Nicht im Kurs, aber aus Interesse ausprobiert ---> Selektiert alle verschiedenen E-Mail Domains
select *
from customers
where firstname like 'M%';
select *
from customers
where firstname like 'M_____';
select firstname, lastname, age
from customers
where age between 20 and 30;
select *
from customers
where age not between 20 and 30;
select *
from customers
where firstname in ('Gitta', 'Dana', 'Anne');
select count(*)
from customers
where age not between 20 and 30; # 160
select count(distinct baby_names.name)
from baby_names
where name like 'Alex%'; # 20
select distinct baby_names.name
from baby_names
where name like 'Alex%';
select distinct baby_names.name
from baby_names
where name like '%m%';
select count(distinct baby_names.name)
from baby_names
where name like '%m%'; # 1183
select *
from baby_names
where year between 1900 and 1999;
select count(*)
from baby_names
where year between 1900 and 1999; # 161668
select count(*)
from baby_names
where year >= 1900
and year <= 1999; # 161668
select *
from baby_names
where year = 1900
or year = 1910
or year = 1920
or year = 1930
or year = 1940
or year = 1950
or year = 1960
or year = 1970
or year = 1980
or year = 1990;
select count(*)
from baby_names
where year = 1900
or year = 1910
or year = 1920
or year = 1930
or year = 1940
or year = 1950
or year = 1960
or year = 1970
or year = 1980
or year = 1990; # 15307
select count(*)
from baby_names
where year in (1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990); # 15307
select count(*)
from baby_names
where year like '19%0'; # 15307
select count(*)
from baby_names
where year % 10 = 0
and year between 1900 and 1999; # 15307

View File

@ -50,6 +50,12 @@ select count(*)
from baby_names
where gender = 'm'; # 94322
select `count`
from baby_names
where name = 'Alex'
and year = 2010
and gender = 'm';
select count(distinct baby_names.name)
from baby_names; # 6809
@ -64,4 +70,13 @@ select *
from baby_names
where `count` = 19250; # Sandra
select * from baby_names where gender != 'm' and gender != 'f';
select *
from baby_names
where gender != 'm'
and gender != 'f';
select distinct baby_names.gender
from baby_names; # M, F
select count(distinct baby_names.name, baby_names.gender)
from baby_names;