Table से चुने गए डेटा को फ़िल्टर करें - एडवांस्ड
आप इस पर अच्छी पकड़ बना रहे हैं! SQLAlchemy आपको and_(), or_(), और
not_() जैसे conjunctions का उपयोग करके और ज़्यादा कॉम्प्लेक्स फ़िल्टरिंग बनाने देता है. उदाहरण के लिए, हम न्यूयॉर्क के उन लोगों के रिकॉर्ड्स पा सकते हैं जिनकी उम्र 21 या 37 साल है, इस कोड से:
select([census]).where(
and_(census.columns.state == 'New York',
or_(census.columns.age == 21,
census.columns.age == 37
)
)
)
इसके समकक्ष SQL स्टेटमेंट होगा, उदाहरण के लिए,
SELECT * FROM census WHERE state = 'New York' AND (age = 21 OR age = 37)
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Databases का परिचय
अभ्यास निर्देश
sqlalchemyमॉड्यूल सेand_इम्पोर्ट करें.censusटेबल से सभी रिकॉर्ड्स सेलेक्ट करें.- एक where क्लॉज जोड़ें ताकि वे रिकॉर्ड्स फ़िल्टर हों जिनका
state'California'हो, और जिनकाsex'M' न हो. - कनेक्शन में
stmtको एक्ज़ीक्यूट करें और ResultProxy पर इटरेट करके हर रिकॉर्ड सेageऔरsexकॉलम प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Import and_
from ____ import ____
# Build a query for the census table: stmt
stmt = select(____)
# Append a where clause to select only non-male records from California using and_
stmt = stmt.where(
# The state of California with a non-male sex
____(census.columns.state == ____,
census.columns.sex != ____
)
)
# Loop over the ResultProxy printing the age and sex
for result in ____:
print(____, ____)