2016-04-16 3 views
-1

Ich habe zwei Tabellen Cities und Country. Ich verwende die AbfrageJoin zwei Tabellen und wählen Sie eine Zeile mit Fremdschlüssel SQL-Abfrage

SELECT * 
FROM citiesTable 
WHERE cityName LIKE 'F%' 
LIMIT 30 

Jeder cityName hat ihrem eigenen Land mit Fremdschlüssel in country Tabelle verknüpft.

Ich möchte jede Stadt mit und ihr jeweiliges Land wie Fayzabad, Afghanistan auswählen. Welche Abfrage soll ich verwenden? Bitte erwähnen muss, da ich neu bin

+2

Verwenden Sie die Join-Abfrage, um Ihr Ziel zu erreichen. – USKMobility

+0

Vermeiden Sie die Verwendung von Bildern zur Beschreibung von Daten. Beschreiben Sie Ihre Datenbank in Kurzform als Klartext, damit sie kopiert und eingefügt werden kann, wenn jemand das Szenario neu erstellen möchte. – totoro

+0

ok danke ich werde das Bild löschen –

Antwort

1

Verwenden Join-Abfrage

SELECT * 
FROM citiesTable, country 
WHERE country.country_id = citiesTable.country_id 
    AND cityName LIKE 'F%' LIMIT 30 
+0

Vielen Dank es formuliert –

+0

bitte markierte es akzeptierte Antwort – USKMobility

+0

ich bereits @USKMobiklity –

1

Diese Abfrage in SQL:

SELECT * 
FROM CitiesTable a, Country b 
WHERE a.country_id = b.id 
    AND a.cityName LIKE 'F%' 
LIMIT 30 
+0

danke ich werde dies für das nächste Mal verwenden –

+0

[ Schlechte Gewohnheiten zu kicken: Verwenden von alten JOINs] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - Diese altmodische * durch Kommas getrennte Liste von Tabellen * style wurde durch ersetzt die * richtige * ANSI 'JOIN'-Syntax im ANSI - ** 92 ** SQL-Standard (** vor mehr als 20 Jahren **) und deren Verwendung wird abgeraten –

2

Bessere Nutzung verbinden links alle Stadttabellendaten zu erhalten

select city.*, ctry.countryName 
from citytable city 
left join country ctry on city.countryid = ctry.countryid 
+0

danke ich werde das für das nächste Mal verwenden –