Course
SQL ENTHÄLT: Ein umfassendes Tutorial
In der heutigen datengesteuerten Welt ist die Fähigkeit, Textdaten zu suchen und zu bearbeiten, für Datenexperten unverzichtbar. Die Funktion CONTAINS von SQL ist ein leistungsstarkes Werkzeug für die Durchführung anspruchsvoller Textsuchen in deinen Datenbanken, mit denen du Daten auf der Grundlage bestimmter Muster oder Schlüsselwörter abrufen kannst.
Dieser Lehrgang führt dich durch die effektive Nutzung von SQL CONTAINS
und stellt sicher, dass du das volle Potenzial für deine Datenanalyse nutzen kannst.
SQL CONTAINS verstehen
SQL CONTAINS
wird für die Volltextsuche verwendet und ermöglicht es dir, Datenbanken nach bestimmten Wörtern, Phrasen oder Mustern in Textdaten abzufragen. Sie ist besonders nützlich, um bestimmte Informationen in großen Textfeldern zu finden, bei denen die genaue Position der Daten nicht im Voraus bekannt ist.
Syntax und Parameter
Die grundlegende Syntax für SQL CONTAINS
lautet wie folgt:
CONTAINS (column_name, 'search_pattern')
Die wichtigsten Komponenten sind:
- Name der Spalte: Das Feld, in dem die Suche durchgeführt werden soll. Es muss sich um eine Volltext-indizierte Spalte handeln.
- Suchmuster: Der Text, den du in der Spalte finden willst, in einfachen Anführungszeichen.
Operatoren und Wildcards
Um deine Suche zu verfeinern, unterstützt SQL CONTAINS
verschiedene Operatoren:
AND
&OR
: Nutze diese, um mehrere Suchbegriffe zu kombinieren.NEAR
: Findet Wörter, die in einer bestimmten Nähe zueinander stehen.- ASTERISK (
*
): Dient als Platzhalter für Suchvorgänge, bei denen das genaue Wort Teil einer größeren Zeichenfolge sein kann.
SQL CONTAINS implementieren
Lass uns anhand von praktischen Beispielen erkunden, wie du SQL CONTAINS
anwenden kannst:
Grundlegende Verwendung
Um nach den Begriffen "Apfel" und "Orange" in einer Spalte mit dem Namen "Obst" zu suchen, könntest du verwenden:
CONTAINS (fruit, '"apple" AND "orange"')
Diese Abfrage gibt Zeilen zurück, in denen beide Begriffe in der Spalte "Obst" enthalten sind.
Erweiterte Suchabfragen
Bei komplexeren Suchanfragen ermöglicht die Kombination von CONTAINS
mit anderen SQL-Funktionen komplizierte Abfragen, z. B. die Suche nach nahe beieinander liegenden Phrasen oder die Verwendung von Platzhaltern, um Variationen eines Wortes zu finden.
Bei der erweiterten Suche kannst du CONTAINS
mit logischen Operatoren kombinieren, eine Umkreissuche durchführen und Platzhalterzeichen verwenden, um Muster oder bestimmte Datenpunkte in Textfeldern zu finden.
Kombinieren von CONTAINS mit logischen Operatoren
SQL CONTAINS
unterstützt die Verwendung von logischen Operatoren wie AND
, OR
und NOT
, um die Suche anhand mehrerer Kriterien zu verfeinern. Um zum Beispiel Einträge zu finden, die sowohl "Technologie" als auch "Innovation" in einer Textspalte enthalten, könntest du deine Abfrage wie folgt strukturieren:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" AND "innovation"'
);
Umgekehrt würdest du OR
verwenden, um Einträge zu finden, die einen der beiden Begriffe enthalten:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" OR "innovation"'
);
Annäherungsversuche
Der NEAR
Operator ist besonders nützlich, um Wörter oder Phrasen zu finden, die im Text nahe beieinander stehen. Diese Fähigkeit ist von unschätzbarem Wert für Kontexte, in denen die Beziehung zwischen Begriffen ihre Bedeutung beeinflusst. Zum Beispiel, um nach "Klima" in der Nähe von "Veränderung" innerhalb von 10 Wörtern zu suchen:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, 'NEAR((climate, change), 10)'
);
Diese Abfrage priorisiert Datensätze, in denen "Klima" und "Wandel" eng miteinander verbunden sind, und bietet so relevantere Ergebnisse für bestimmte Forschungsfragen.
Platzhalter-Suchen
Wildcards erweitern den Umfang der Suche, indem sie die Aufnahme von variablen Zeichen ermöglichen. Das Sternchen (*
) dient als Platzhalter in CONTAINS
Abfragen und ermöglicht die Suche nach Teilübereinstimmungen. Um zum Beispiel Variationen von "compute" wie "computer", "computing" oder "computation" zu finden, könntest du verwenden:
SELECT
*
FROM
your_table
WHERE
CONTAINS(your_column, '"compute*"');
Dieser Ansatz ist besonders nützlich, wenn du einen breiten Satz von Daten zu einem Wortstamm erfassen willst oder wenn du dir über die genauen Begriffe in der Datenbank nicht sicher bist.
Erweiterte Mustererkennung
Für Szenarien, die einen noch ausgefeilteren Musterabgleich erfordern, kannst du SQL CONTAINS
mit dem Operator LIKE
oder regulären Ausdrücken kombinieren. Während CONTAINS
die Volltextsuche beherrscht, bieten LIKE
und regex die Flexibilität, bestimmte Zeichenfolgen oder Formate zu finden (z. B. E-Mail-Adressen oder Telefonnummern).
Praktisches Beispiel: Kombinierte Techniken für umfassende Recherchen
Nehmen wir ein Szenario an, in dem du Datenbankeinträge zum Thema Umwelttechnologie finden musst, dir aber nicht sicher bist, welche Begriffe im Text verwendet werden. Du kannst verschiedene Techniken wie folgt kombinieren:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
)
AND your_column LIKE '%sustainability%';
Diese Abfrage zeigt, wie man CONTAINS
für die Proximity- und Wildcard-Suche verwendet und gleichzeitig den LIKE
Operator für den zusätzlichen Musterabgleich einbezieht, was eine robuste Strategie für komplexe Textsuchen bietet.
Werde Dateningenieur
Praktisches Beispiel für SQL CONTAINS in der Datenwissenschaft
Als Datenwissenschaftler arbeite ich mit verschiedenen Arten von Datensätzen, hauptsächlich mit Textdatensätzen für Kundenzufriedenheit und Feedback. In diesem Beispiel suchen wir nach bestimmten Schlüsselwörtern, die auf Zufriedenheit oder Unzufriedenheit im Kundenfeedback hinweisen können.
ID |
FeedbackText |
SatisfactionScore |
1 |
Ich bin sehr zufrieden mit dem Service. |
5 |
2 |
Nicht zufrieden mit der Produktqualität. |
2 |
3 |
Die Lieferung war schnell und das Produkt funktioniert super... |
5 |
4 |
Der Kundenservice war nicht hilfsbereit und unhöflich. |
1 |
5 |
Ich bin zufrieden mit meinem Kauf. Wird empfohlen! |
4 |
CustomerFeedback Tabelle
UmCONTAINS
nutzen zu können, muss in deiner Datenbank möglicherweise die Volltextsuche aktiviert sein.
Das Schlüsselwort CONTAINS
wird verwendet, um Datensätze zu finden, in denen die Spalte "FeedbackText" das Wort "happy" enthält.
SELECT
*
FROM
CustomerFeedback
WHERE
CONTAINS(FeedbackText, 'happy');
Die obige Abfrage gibt die Zeilen aus CustomerFeedback zurück, in denen die Spalte FeedbackText das Wort "happy" enthält.
ID |
FeedbackText |
SatisfactionScore |
1 |
Ich bin sehr zufrieden mit dem Service. |
5 |
3 |
Die Lieferung war schnell und das Produkt funktioniert super... |
5 |
5 |
Ich bin zufrieden mit meinem Kauf. Wird empfohlen! |
4 |
Du kannst den Befehl CONTAINS
nicht in einer SQLite-Datenbank verwenden. Versuche es stattdessen mit:
SELECT
*
FROM
CustomerFeedback
WHERE
FeedbackText LIKE '%happy%';
Darüber hinaus BESTEHT: Mustervergleiche und Stringmanipulation
Während CONTAINS
für die Textsuche sehr leistungsfähig ist, bietet SQL auch andere Techniken für die Arbeit mit Textdaten:
LIKE Operator
Ähnlich wieCONTAINS
ermöglicht der LIKE
Operator den Abgleich von Mustern, allerdings mit einer einfacheren Syntax, die % als Platzhalter verwendet. Zum Beispiel, um alle Produktnamen zu finden, die "Apfel" enthalten:
SELECT
*
FROM
Products
WHERE
productName LIKE '%apple%'
Erweiterte String-Funktionen
SQL bietet Funktionen wie LEFT
und REVERSE
zum Extrahieren oder Manipulieren von Teilen von Textstrings und bietet damit umfangreiche Möglichkeiten zur Textanalyse und -manipulation. Mehr darüber erfährst du in unserem Kurs Datenbereinigung in SQL Server-Datenbanken.
Fazit
Die Funktion SQL CONTAINS
und die damit verbundenen Möglichkeiten zur Textmanipulation sind wichtige Werkzeuge für Datenpraktiker. Wenn du diese Techniken verstehst und anwendest, kannst du Textdaten in deinen Datenbanken effektiv durchsuchen und analysieren, um neue Erkenntnisse zu gewinnen und deine Datenanalyseprojekte zu verbessern.
Denke daran, dass die Effektivität deiner Abfragen nicht nur von der Beherrschung der Syntax abhängt, sondern auch vom Verständnis des Kontexts und der Struktur deiner Daten. Übe mit realen Datensätzen und SQL-Projekten und lerne verschiedene Funktionen kennen, um die Leistungsfähigkeit von SQL in der Textdatenanalyse voll auszuschöpfen.
Um mehr über SQL-Operatoren zu erfahren und die SQL-Grundlagen zu erforschen, sieh dir unseren Spickzettel zu den SQL-Grundlagen und den SQL-Grundlagen-Kurs an.
Werde Dateningenieur
Als zertifizierter Data Scientist ist es meine Leidenschaft, modernste Technologien zu nutzen, um innovative Machine Learning-Anwendungen zu entwickeln. Mit meinem fundierten Hintergrund in den Bereichen Spracherkennung, Datenanalyse und Reporting, MLOps, KI und NLP habe ich meine Fähigkeiten bei der Entwicklung intelligenter Systeme verfeinert, die wirklich etwas bewirken können. Neben meinem technischen Fachwissen bin ich auch ein geschickter Kommunikator mit dem Talent, komplexe Konzepte in eine klare und prägnante Sprache zu fassen. Das hat dazu geführt, dass ich ein gefragter Blogger zum Thema Datenwissenschaft geworden bin und meine Erkenntnisse und Erfahrungen mit einer wachsenden Gemeinschaft von Datenexperten teile. Zurzeit konzentriere ich mich auf die Erstellung und Bearbeitung von Inhalten und arbeite mit großen Sprachmodellen, um aussagekräftige und ansprechende Inhalte zu entwickeln, die sowohl Unternehmen als auch Privatpersonen helfen, das Beste aus ihren Daten zu machen.
Beginne deine SQL-Lernreise noch heute!
Course
Intermediate SQL
Course
Joining Data in SQL
Der Blog