Listing 1
SELECT DISTINCT(band)
FROM BandEJB AS band,
IN (band.recordings) records
WHERE records.numberSold >
( SELECT AVG(subquery_records.numberSold)
FROM BandEJB AS subquery_band,
IN (subquery_band.recordings) subquery_records
WHERE subquery_records.recordingDate > '31/DEC/1960' )
AND records.recordingDate > '31/DEC/1960'
Listing 2
SELECT OBJECT(record)
FROM RecordingEJB AS record
WHERE 3 >
( SELECT COUNT(DISTINCT subquery_record.title)
FROM RecordingEJB AS subquery_record
WHERE subquery_record.numberSold > record.numberSold)
ORDERBY record.numberSold DESC
Listing 3
SELECT DISTINCT OBJECT(band)
FROM BandEJB AS band,
IN (band.recordings) records
WHERE records.numberSold >
( SELECT subquery_records.numberSold
FROM BandEJB AS subquery_band,
IN (subquery_band.recordings) subquery_records
WHERE subquery_records.recordingDate < '01/JAN/1961' )
Listing 4
SELECT DISTINCT OBJECT(band)
FROM BandEJB AS band,
IN (band.recordings) records
WHERE records.numberSold > ANY
( SELECT subquery_records.numberSold
FROM BandEJB AS subquery_band,
IN (subquery_band.recordings) subquery_records
WHERE subquery_records.recordingDate < '01/JAN/1961' )
Listing 5
SELECT OBJECT(targetBand)
FROM BandEJB AS targetBand,
BandEJB AS founderBand,
ArtistEJB AS founderArtist
WHERE targetBand.name = founderBand.founder
AND founderArtist.name = founderBand.founder
AND founderArtist.id NOT IN
( SELECT subquery_artist.id
FROM BandEJB AS subquery_band,
IN (subquery_band.artists)subquery_artist
WHERE subquery_band.name = targetBand.name
AND subquery_band.founder = targetBand.founder )
Listing 6
SELECT OBJECT(targetBand)
FROM BandEJB AS targetBand,
BandEJB AS founderBand
WHERE targetBand.name = founderBand.founder
AND NOT EXISTS
( SELECT subquery_artist.name
FROM BandEJB AS subquery_band,
IN (subquery_band.artists)subquery_artist
WHERE subquery_artist.name = targetBand.name
AND subquery_band.name = targetBand.name
AND subquery_band.founder = targetBand.founder )
Listing 7
SELECT OBJECT(targetBand)
FROM BandEJB AS targetBand,
IN (targetBand.artists)target_artists,
BandEJB AS founderBand,
ArtistEJB AS founder_artist
WHERE targetBand.name = founderBand.founder
AND founder_artist.name = founderBand.founder
AND founder_artist NOT MEMBER OF target_artists
Listing 8
SELECT WL0.founder, WL0.name, WL0.startDate
FROM bands WL0, bands WL1, Artists WL2
WHERE WL0.name = WL1.founder
AND WL2.name = WL1.founder
AND WL2.id NOT IN
( SELECT WL5.id
FROM bands WL3, band_artist WL4, Artists WL5
WHERE WL3.name = WL4.band_name
AND WL3.founder = WL4.band_founder
AND WL4.artist_id = WL5.id
AND WL0.founder = WL3.founder
AND WL0.name = WL3.name)
Listing 9
SELECT WL0.founder,
WL0.name,
WL0.startDate
FROM bands WL0,
bands WL1,
Artists WL2
WHERE WL0.name = WL1.founder
AND WL2.name = WL1.founder
AND WL2.id NOT IN
( SELECT WL5.id
FROM bands WL3, Artists WL5, band_artist WL4
WHERE WL3.name = WL0.name
AND WL3.founder = WL0.founder
AND WL3.name = WL4.band_name
AND WL3.founder = WL4.band_founder
AND WL4.artist_id = WL5.id )